javascript - Ember CLI Hook /事件错误

标签 javascript ember.js hook ember-cli mixins

我正在使用 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/

相关文章:

java - 使用 Liferay 根据 LDAP 中的用户配置文件将用户添加到用户组

windows - 如何 Hook Windows 中的本地帐户创建?

javascript - 自动将 console.log 添加到每个函数

javascript - 如何在两个条件下使用 Javascript array.find()?

javascript - HTML5 Canvas 文本没有出现?

javascript - 仅在 Ember.js 提交后保留数据

node.js - NPM:不推荐使用存在同步

javascript 在输入字段上添加两个多重事件

javascript - 在 FileSaver.js 中保存文件后关闭窗口

javascript - Ember Data 2.1.0 忽略我的 JSON 响应中的 links 属性