我正在尝试创建一个类似于此处看到的反应数组(如何从 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() 的执行方式。