[英]Backbone.js can't catch trigger event
嘿,所以我試圖捕捉一個觸發事件,但看起來我錯過了一些東西:
所以我有主干視圖和兩個平面舊 javascript 對象,一個是“控制器”,一個是我的“應用程序”對象,它看起來像這樣:
// View
SearchView = Backbone.View.extend({
...
events: {
'keyup .input' : 'search'
},
search: function (e) {
var keyCode = e.keyCode || e.which;
this.trigger("search:auto", keyCode);
}
});
// Controller
SearchController = function (options) {
...
this.view = options.view;
this.view.on("search:auto", this.search, this);
this.search = function () {
console.log('great');
};
};
// App
App = function() {
...
this.views = {
searchView : new SearchView()
};
new SearchController({
view: this.views.searchView
});
this.start = function() {
...
};
}
new App().start();
問題是,我想捕獲由控制器中的視圖觸發的事件,但不知何故它不起作用,我知道 Backbone,也許我錯過了一些東西。
謝謝你的幫助。
好的,最后我想通了,問題是順序,在我聲明我的函數之前注冊了事件,這是正確的順序:
// Controller
SearchController = function (options) {
...
this.view = options.view;
this.search = function () {
console.log('great');
};
this.view.on("search:auto", this.search, this);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.