我试图去除我的搜索功能,但是我收到了错误消息。 我有一个余烬搜索输入,这在我的阵列控制器中:
App.PostsController = Ember.ArrayController.extend({
watchSearch: function() {
Em.run.debounce(this, this.itemsa, 400);
}.observes("search"),
itemsa: function() {
var searched = this.get("search") ? this.get("searchedItems") : this;
return searched;
}.property("searchedItems"),
searchedItems: function() {
var search = this.get('search').toLowerCase();
return this.filter(function(item) {
return item.get('title').toLowerCase().indexOf(search) != -1;
})
}.property('search', 'title')
});
在我的模板中,我有:
<script type="text/x-handlebars" id="posts">
{{#each itemsa}}
{{title}}
{{/each}}
</script>
答案 0 :(得分:2)
debounce应该调用函数,而不是计算属性。
App.PostsController = Ember.ArrayController.extend({
watchSearch: function() {
Em.run.debounce(this, this.runSearch, 400);
}.observes("search"),
runSearch: function(){
this.set('nextSearch', this.get('search'));
},
itemsa: function() {
var searched = this.get("search") ? this.get("searchedItems") : this;
return searched;
}.property("searchedItems"),
searchedItems: function() {
var search = this.get('search').toLowerCase();
return this.filter(function(item) {
return item.get('title').toLowerCase().indexOf(search) != -1;
})
}.property('nextSearch', 'title')
});