Han*_*pan 1 javascript-events backbone.js
我试图找出其工作原理:
var TestView = Backbone.View.extend({
views: {},
initialize: function(){
this.bind('transistion:complete', this.onPageLoaded);
},
onPageLoaded: function(){
alert("works!");
}
});
var v = new TestView();
v.trigger('transition:complete');
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
var TestView = Backbone.View.extend({
views: {},
events:{
'transition:complete': 'onPageLoaded'
},
onPageLoaded: function(){
alert("works!");
}
});
var v = new TestView();
v.trigger('transition:complete');
Run Code Online (Sandbox Code Playgroud)
能够从视图的事件对象中触发我的自定义事件更简洁.无论如何我可以让这个工作吗?
骨干事件哈希与DOM相关联,而不是与视图相关联.
检查如何将触发器运行到View元素中:
var TestView = Backbone.View.extend({
events:{
'transition:complete': 'onPageLoaded'
},
onPageLoaded: function(){
alert("works!");
}
});
var v = new TestView();
v.$el.trigger('transition:complete');
Run Code Online (Sandbox Code Playgroud)
但是,如果不需要将自定义事件绑定到元素,那么您的第一个代码就可以了,只需将bind替换为on,就像这样:
this.on('transistion:complete', this.onPageLoaded);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6622 次 |
| 最近记录: |