我需要在初始化和渲染方法上执行一些代码,但据我了解,在使用卓别林时,我不能直接修改它们 - 当我定义自己的初始化方法时,我的路由停止工作。
我也尝试了 afterInitialize(),但它似乎并不意味着被覆盖:https://github.com/chaplinjs/chaplin/issues/168#issuecomment-8015915
[...]但据我了解,我不能在使用时直接修改它们 卓别林
只要适当地委派给扩展原型,就可以直接修改它们。
由于您尚未标记问题javascript
或coffeescript
,因此每种解决方案都有两种。首先是javascript。请注意我们必须如何显式调用扩展函数。
var View = Chaplin.View.extend({
initialize: function(options) {
// Add code here ..
// The below invokes the initialize function of the
// base Chaplin.View class in the context of
// this class
Chaplin.View.prototype.initialize.call(this, arguments);
// .. or here
}
});
接下来是coffeescript
,这使得这种事情变得容易得多。
class View extends Chaplin.View
initialize: ->
// Add code here ..
// The below auto-magically invokes the
// initialize method of the base class
super
// .. or here