不确定这是错误还是预期的行为。我创建了一个包含ControllerMixin的Ember.Object。这为它提供了send
函数,它应该能够在actions
对象中找到函数。但是,它不能这样做。相反,它会查看私有的_actions
对象,因此,如果我将操作放在_actions
中,一切正常。这是有意的吗?如果是这样,为什么?
代码示例:
import Ember from 'ember';
const { Component, on } = Ember;
export default Component.extend({
triggerFoo: on('init', function() {
const bar = this.get('bar');
bar.send('foo');
})
});
...
import Ember from 'ember';
const { ControllerMixin } = Ember;
export default Ember.Object.extend(ControllerMixin, {
_actions: {
foo() {
console.log('`foo` was triggered');
}
}
});
答案 0 :(得分:1)
您可以在此处找到解释:https://github.com/emberjs/ember.js/issues/9459
TL; DR它与动作不是特殊属性的日子有向后兼容性问题,你可以使用动作做任何事情。它可以在Ember 2.0中修复。