Ember.js:如何重写我的超类之一&x27;组件中的操作是什么?
这是Ember.js2.11。如果我有一个组件: app/components/a/component.jsEmber.js:如何重写我的超类之一&x27;组件中的操作是什么?,ember.js,Ember.js,这是Ember.js2.11。如果我有一个组件: app/components/a/component.js export default Ember.Component.extend({ actions: { foo() { ... } } }); import A from 'components/a'; export default Ember.Component.extend(A, { ... }); 以及从中继承的另一个组件: app/componen
export default Ember.Component.extend({
actions: {
foo() { ... }
}
});
import A from 'components/a';
export default Ember.Component.extend(A, {
...
});
以及从中继承的另一个组件:
app/components/b/component.js
export default Ember.Component.extend({
actions: {
foo() { ... }
}
});
import A from 'components/a';
export default Ember.Component.extend(A, {
...
});
如何覆盖
B
中的foo
?定义我自己的操作
对象似乎不起作用。默认情况下操作
哈希是mergedProperties,这就是它不被覆盖的原因。你可以看到。
您可以看到合并属性的解释
定义将从超类合并(而不是重写)的属性
你可以像下面那样延伸
import A from 'components/a';
export default A.extend({
...
actions: {
foo() { ... }
}
});
您可以在组件b中定义foo
操作。如果要从组件b调用组件a的foo操作,可以调用this.\u super(…参数)
啊,谢谢。结果证明我的问题是不同的(不是在我的最小示例中)。