对不起,如果这是一个愚蠢的问题。我处于Ember学习曲线最陡峭的部分中,试图让一个简单的应用程序成为我自己的学习工具,而我的谷歌正在让我无法理解如何做到这一点;使用并绑定组件{{input}}
我有一个组件基本上是一些模型对象与一些过滤选项。与此讨论相关的过滤器选项是自由文本搜索。我希望有一个{{input}}被绑定到一些影响结果列表的值,只要它被更新。
{{input type=text value=filterString}}
在我的余烬缺乏了解,我会约束输入一个字符串属性的值,并有我filteredMatches计算性能取决于这一点。不过,如果我定义属性作为这样的:
filteredMatches: Ember.computed.filter('matches', 'filterString', function(match, index, array) {
我在控制台日志得到一个错误:
Uncaught TypeError: callback.call is not a function
如果我删除提及“filterString”,它工作正常,但当我在输入中输入内容时,过滤不会更新。
因此,在我对Ember有限的知识的情况下,我坚持了这一点;输入是否实际绑定到控制器上的filterString,而不是组件?根据我的理解,他们将会消失,我不使用显式控制器。如果是这样的话,我怎么能在我的组件中有一个计算属性取决于控制器属性?
如果不是这种情况(即不涉及控制器),我如何将输入绑定到组件属性并相应地对值更改作出反应?
ember -v
version: 2.3.0-beta.2
node: 5.6.0
npm: 2.14.10
os: win32 x64
感谢您的帮助,并再次,对不起,如果这个问题是愚蠢的!
编辑:Kitler和Lux的答案都很有启发和帮助。我选择了Lux,因为它带有一个具体的解决方案,但我希望我可以接受这两个。为了弥补它,我一定会加入Slack频道。 :)