加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

twitter-bootstrap – 当我使用bootstrap datepicker时,为什么Em

发布时间:2020-12-18 00:23:41 所属栏目:安全 来源:网络整理
导读:我注意到在我的应用程序中,当我使用下面的代码时,我在日期选择器小部件中给出了格式化日期,但是当我单击搜索时,控制台显示空字符串.但是,如果我删除了didInsertElement方法,我将丢失datepicker弹出窗口,但数据绑定仍然存在,控制台显示我输入的日期. 在我的车
我注意到在我的应用程序中,当我使用下面的代码时,我在日期选择器小部件中给出了格式化日期,但是当我单击搜索时,控制台显示空字符串.但是,如果我删除了didInsertElement方法,我将丢失datepicker弹出窗口,但数据绑定仍然存在,控制台显示我输入的日期.

在我的车把模板中

{{view App.DateField valueBinding="controller.startDate" classNames="startDate"}}
{{view App.DateField valueBinding="controller.endDate" classNames="endDate"}}
<button {{action "search" target='controller'}}>Search</button>

在我的应用程序中

App.ApplicationController = Ember.ArrayController.extend({
  search: function() {
    console.log(this.get('startDate'));
    return console.log(this.get('endDate'));
  }
});

App.DateField = Ember.TextField.extend({
  didInsertElement: function() {
    return this.$().datepicker();
  }
});

我设置didInsertElement时为什么会丢失数据绑定的任何想法?

版本:
bootstrap-datepicker,

handlebars-1.0.0-rc.3
ember-1.0.0-rc.3
jQuery 1.9.1

解决方法

我认为问题在于,datepicker和ember都会以不同的方式看到值的变化.看看这个:
App.DateField = Ember.TextField.extend(
    didInsertElement: ->
      @.$().datepicker().on 'changeDate',=>
        @.$().trigger('change')
  )

当窗口小部件更改事件触发时,如果您转向并触发元素上的更改事件,则Ember应注册绑定已更新的事实.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读