我試圖創建一個類似於這裏看到的反應陣列(How can I make a reactive array from a Meteor collection?),但解決方案沒有按預期工作。如何在Meteor的客戶端上下文中傳遞一個反應數組?
下面的代碼創建一個數組並正確更新它,但是對於'foo'集合的任何後續更新都不會被typeahead看到。我也嘗試使用jquery-ui自動完成,但結果相同。
@Coll = new Meteor.Collection "foo"
if Meteor.isClient
Template.myForm.rendered = ->
Meteor.defer ->
$('.inputs').typeahead
source: Template.myList.test()
Meteor.autorun ->
Template.myList.test = ->
_(Coll.find().fetch()).pluck "Name"
我猜問題是有關的事實,我依靠相當哈克「Template.myList.test」存儲陣列。我嘗試使用以下內容:
Meteor.autorun ->
test = _(Coll.find().fetch()).pluck "Name"
但前進無法找到「測試」。
因此,這裏的解決方案可能會改變我如何存儲數組,而不是改變find()的執行方式。
感謝您的指針,Akshat。 Session看起來像是我需要進入的方向,而這個建議確實可以在Template.myList.test中存儲和檢索正確的數組。但是,當我通過'Template.myList.test'來源時,它不會採取反應行動。 – IanWhalen