abr*_*tez 37
我遇到了这篇看起来很有趣的帖子
var myView = Backbone.View.extend({
initialize: function(options) {
_.bindAll(this, 'beforeRender', 'render', 'afterRender');
var _this = this;
this.render = _.wrap(this.render, function(render) {
_this.beforeRender();
render();
_this.afterRender();
return _this;
});
},
beforeRender: function() {
console.log('beforeRender');
},
render: function() {
return this;
},
afterRender: function() {
console.log('afterRender');
}
});
Run Code Online (Sandbox Code Playgroud)
pil*_*lau 24
或者您可以执行以下操作,这是Backbone代码应该看起来像(Observer模式,又名pub/sub).这是要走的路:
var myView = Backbone.View.extend({
initialize: function() {
this.on('render', this.afterRender);
this.render();
},
render: function () {
this.trigger('render');
},
afterRender: function () {
}
});
Run Code Online (Sandbox Code Playgroud)
编辑:this.on('render', 'afterRender');不起作用 - 因为Backbone.Events.on只接受功能.该.on('event', 'methodName');魔术是通过成为可能Backbone.View.delegateEvents,因此仅适用于DOM事件.
| 归档时间: |
|
| 查看次数: |
55599 次 |
| 最近记录: |