0
我需要改變我的預輸入輸入場的幫手源(sergeyt:typeahead
):typeahead.js:更改數據源,這是作爲一個輔助
<template name="searchMain">
<input class="typeahead"
type="text"
autocomplete="on"
spellcheck="off"
data-sets="searchData" />
</template>
現在我想改變它的任何事件是這樣的:
Template.searchMain.events({
'keyup .typeahead': function(event, template) {
if ($(event.currentTarget).val() == 'change') {
// the user typed 'change'
// now change data source to 'newData'
}
else {
// else use original data source 'searchData'
}
}
})
助手
Template.searchMain.helpers({
searchData: function() {
// build some dataset from collections
return ['complex', 'old', 'dataset'];
},
newData: function() {
// build some dataset from collections
return ['another', 'new', 'dataset'];
}
});
因爲我會改變這樣的數據集...
$('.typeahead').typeahead('destroy');
$('.typeahead').typeahead({
local: data
});
...我不能使用助手。所以我不知道如何回到原點
我認爲這不會起作用,因爲數據集將在渲染時初始化。在這一點之後改變任何東西都不會給我新的結果... – user3142695
我明白了......如果你強制重新渲染?請參閱我的編輯 – SylvainB
不,這也行不通。我想我需要銷燬這個實例並執行像Meteor.typeahead.inject();'。但我真的不知道如何...... – user3142695