我正在尝试初始化我的ember文本字段视图以使用查询字符串预填充它。但每当我在我的视图中添加一个init函数时,所有其他已定义的事件都会停止触发。
如何在使用初始化时让我的事件继续工作?
App.SearchBarView = Ember.TextField.extend({
throttle_instance: _.debounce(function(){
var value = this.get('value');
this.update();
}, 1000),
/**
* Initialize the textbox with a set value
*/
init: function(){
var query = "testquery";
if(query && query.length > 0){
this.set('value', query[0]);
this.get('controller').set('query', query[0]);
this.update();
}
},
insertNewline: function() {
this.update();
},
/**
* Handle the keyup event and throttle the amount of requests
* (send after 1 second of not typing)
*/
keyUp: function(evt) {
this.get('controller').set('query', this.get('value'));
this.throttle_instance();
},
/**
* Update the pages results with the query
*/
update: function(){
var value = this.get('value');
this.get('controller').filterByQuery(value);
}
});
答案 0 :(得分:4)
您需要在this._super()
方法中调用init
来维护视图的默认行为:
...
init: function() {
this._super();
}
...
希望它有所帮助。