下面我提供了一个我“认为”应该起作用的例子,但没有。我的期望是,如果一个 Controller 从另一个 Controller 继承,那么它应该能够访问父类中提供的行为。我知道可以通过“需要”来实现相同的行为,但是我认为如果您可以继承行为会更清晰。
https://gist.github.com/4589210
最佳答案
您也可以使用 mixin
。这是什么?这是一种多继承。
App.Important = Ember.Mixin.create({
sharedBehavior: function() {
return "A winner is you!!!";
}.property()
});
App.OtherImportant = Ember.Mixin.create({
otherSharedBehavior: function() {
return "A winner is not you!!!";
}.property()
});
App.AnotherController = Ember.controller.extend(App.Important, App.OtherImportant, {
importantStuff: function() {
var ohBeehave = this.get("sharedBehavior");
if(ohBeehave) {
return ohBeehave;
} else {
return "FML";
}
}.property("sharedBehavior")
});
见 http://emberjs.com/api/classes/Ember.Mixin.html
关于ember.js - 是否可以通过继承而不是使用 'needs' 在 ember 中与 Controller 共享行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14447141/