1
我想在所有视图中呈现html之后调用一些函数。所以,我想要在渲染骨干视图后引发一些事件。是否有任何现有的事件或如何使用视图扩展来创建自己的事件?呈现html模板后的主干视图事件
我想在所有视图中呈现html之后调用一些函数。所以,我想要在渲染骨干视图后引发一些事件。是否有任何现有的事件或如何使用视图扩展来创建自己的事件?呈现html模板后的主干视图事件
你应该能够做到像
var MyView = Backbone.View.extend(Backbone.Events, {
// usual code (template, etc.)
render: function(){
// code to render view
// trigger event
this.trigger("render:after", "View rendered !");
}
});
然后,对事件作出反应:
var view = new MyView(...);
view.listenTo(view, "render:after", function(msg){
alert(msg);
});
你可以这样做:
var render = Backbone.View.prototype.render;
Backbone.View.prototype.render = function() {
var rendered = render();
this.trigger("render", this);
return rendered;
}
因此,只要渲染视图将被触发。并且您不需要每次延长Backbone.View
以添加this.trigger("render..
可能重复的[Backbone.js event after view.render()完成后](http://stackoverflow.com/questions/9790361/backbone -js-事件后视图渲染-是成品) – Puigcerber