對不起,如果這是一個愚蠢的問題。我處於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頻道。 :)