我正在尝试将输入的值绑定到它的控制器属性,以便在属性更改时保持更新。当输入值发生变化时,我需要触发一个过滤方法。
我找到了一些例子,但是我做错了,或者他们不再适用,因为他们已经有几个月了,而且Ember经历了一些变化。
答案 0 :(得分:1)
如果你能够直接操纵this.inputDate
属性,正如你在jsbin中所做的那样,我相信当你改变这个值时它不会正确地触发任何观察者。因此,不应该操纵this.inputDate.anything
,而应该this.set('inputDate', [whatever])
。
Date().getDate()
仅返回该月的某一天,而不是Date对象的任何可用代理,并且将1
添加到该值不会将一天添加到Date()
。我更喜欢使用http://momentjs.com/来无痛地和语义地操纵日期。
http://emberjs.jsbin.com/oKehAYE/3/edit有效,并且filterDate
退出了操作哈希并变成了观察者。如果您取消注释alert()
行,则会在inputDate
更改时执行某项操作。它可能无法理想地工作,因为当页面最初呈现您有Date
个对象时,然后一旦您更改它就有Moment
- 您也可以初始化inputDate
moment(new Date)
- 但我把它作为读者的练习。