gpt4 book ai didi

twitter-bootstrap - 为什么当我使用 Bootstrap 日期选择器时 Ember.js 会丢失 valueBinding?

转载 作者:行者123 更新时间:2023-12-04 08:36:51 25 4
gpt4 key购买 nike

我注意到,在我的应用程序中,当我使用下面的代码时,我在日期选择器小部件中获得了一个格式化的日期,但是当我单击搜索时,控制台显示空字符串。但是,如果我删除 didInsertElement方法我丢失了日期选择器弹出窗口,但数据绑定(bind)仍然存在,控制台显示我输入的日期。

在我的 Handlebars 模板中

{{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 时会丢失数据绑定(bind)?

版本:
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 应该注册绑定(bind)已更新的事实。

关于twitter-bootstrap - 为什么当我使用 Bootstrap 日期选择器时 Ember.js 会丢失 valueBinding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16345682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com