我正在使用 Ember CLI 1.13,我正在尝试在绑定(bind)到 willTransition
Hook 的插件中创建路由器混合,但我遇到的问题不仅限于此事件.
此时 mixin 看起来像这样:
import Ember from 'ember';
export default Ember.Mixin.create({
genericFunction: function(transition) {
console.log('--- generic function ---');
}.on('willTransition')
});
尝试使用 mixin 运行虚拟应用程序时,出现以下错误:
Uncaught TypeError: (intermediate value)(intermediate value)(intermediate value).on is not a function
在单独的应用程序中包含和使用插件时,没有错误,一切都按预期运行。没有警告、错误和任何其他提示在完整应用程序中使用它的任何问题。
虚拟应用程序和单独应用程序的环境配置相同,因此我排除了环境配置作为潜在问题的可能性。
我不确定这是否只是 Ember 中的损坏功能,或者我是否需要采取一些额外的步骤来使虚拟应用程序在使用 Hook /事件时表现得像您期望的那样。
如有任何帮助,我们将不胜感激。
谢谢!
最佳答案
另一种(也是更好的)解决方案是禁用原型(prototype)扩展并使用非原型(prototype)变体。这样,您就不会强制应用使用不希望使用的原型(prototype)扩展。
import Ember from 'ember';
const {
Mixin,
on
} = Ember;
export default Mixin.create({
genericFunction: on('willTransition', function(transition) {
console.log('--- generic function ---');
})
});
关于javascript - Ember CLI Hook /事件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041446/