我使用typeahead-js的设置如下。它在当地运作良好,没有任何问题。但是,当我部署到meteor时,它不再工作,因为基准是相同的,但是没有发生预先输入。
On Meteor.client:
Template.searchProfiles.rendered = function() {
$('input#query').typeahead({
name:'searchProfiles',
local:searchProfilesDatums(),
});
}
var searchProfilesDatums = function() {
var datums = [];
Profiles.find().forEach(function(profile) {
tokens = profile.name.split(" ");
datums.push({value:profile.name, nameRoute:profile.nameRoute, tokens:tokens});
});
return datums;
}
答案 0 :(得分:1)
当您为typeahead基准面提供“name”属性 - it caches the datum,并且使用具有相同名称的另一个基准重新初始化任何类型,将重新使用该基准 - 包括本地值。
如果您正在远程运行 - 可以在集合中没有数据的情况下初始化第一个数据(例如,等待订阅),并忽略后续数据以支持缓存的数据。
可能的解决方案:
我目前正在使用允许计算值的modified branch,但我有一些自己的曲折。