我根据Pikaday获得了form-component
个datepicker
子组件。
在form-component
我有datepicker
的观察员价值:
// form-component.hbs
{{date-picker value=model.dueDate}}
// form-component.js
testDueDate: function() {
console.log(this.get('model.dueDate'));
}.observes('model.dueDate');
// date-picker.js
testDatepickerValue: function() {
console.log(this.get('value'));
}.observes('value');
// Only triggers date-picker's observer, but not the one from form-component:
this.set('value', new Date());
当我手动选择日期(即打开日期选择器并用鼠标点击任何日期)时,一切正常:testDueDate()
和testDatepickerValue()
都会触发并显示给定日期。< / p>
但是,当我以编程方式设置日期(即通过Pikalendar API)时,父组件的观察者不会触发,即使datepicker中的那个做了并显示value
改变。
通过查看Pikalendar的代码,我可以看到点击日期并以编程方式设置日期都使用setDate()
函数,因此,从那里开始,一切都应该触发相同的功能。
不知何故,只有在点击日历时,表单组件才会更新value
。
关于我可能做错什么的任何想法?
谢谢!