我正在玩一些Ember Sortable bits,我有一个简单的列表,我正在排序。我还想通过输入框中输入的内容对其进行过滤。
然而,我第一次尝试的.property()
观察者从未行动过。但是,如果我将.property()
更改为.observes()
,则可以正常使用。
为什么?
Heres my JS Bin
答案 0 :(得分:2)
根据我的理解,只要属性“abcd'”,就会调用.observes(' abcd')的函数。变化。 .property(' abcd')的函数本身就是一个属性,需要在模板中称为明显。然后每当“abcd'变化,财产也相应变化。
例如,在您的情况下,如果在html模板中调用{{sortData}},则只要filteredData更改,相应的更改就会在控制台日志中输出。
以下是JSBin演示。
我已将上面的代码更改为只演示.property()如何工作。对于您的示例,sortData不返回任何值,并且不适合作为.property()。将它留作.observes()
更有意义