Вызов метода Mixin при переопределении
У меня есть миксин в моем контроллере, который имеет определенное действие. Мне нужно переопределить это действие, сделать некоторые вещи, а затем вызвать исходное действие, предоставленное Mixin.
Как я могу это сделать?
этого._super (), похоже, не работает в этом случае (что имеет смысл, поскольку он должен называть реализацию суперкласса, а не Mixin).
1 ответов
для того, чтобы позвонить this._super
С Ember.run.next
попробуйте следующее,
http://emberjs.jsbin.com/docig/3/edit
App.MyCustomMixin = Ember.Mixin.create({
testFunc:function(){
alert('original mixin testFunc');
},
actions:{
testAction:function(){
alert('original mixin testAction');
}
}
});
App.IndexController = Ember.Controller.extend(App.MyCustomMixin,{
testFunc:function(){
alert('overriden mixin testFunc');
var orig_func = this._super;
Ember.run.next(function(){
orig_func();
});
},
actions:{
test:function(){
this.testFunc();
},
testAction:function(){
alert('overriden mixin testAction');
var orig_func = this._super;
Ember.run.next(function(){
orig_func();
});
}
}
});