【发布时间】:2015-03-18 13:57:25
【问题描述】:
我正在我的 ember 应用程序中创建一个初始化程序(使用 ember-cli 0.2.0 beta)。在其中,我定义了一个用户对象(我使用 Ember.Object.extend 定义),我想注册并注入到应用程序的控制器中。
当我将用户对象(在定义之后)打印到控制台时,我得到“(未知的 mixin)”。我环顾四周,但似乎找不到解决方案或说明为什么会这样。这是我的初始化程序文件的样子:
// app/initializers/application.js
var currentUser = Ember.Object.extend({
authToken: localStorage['authToken'],
isAuthenticated: function () {
return !!this.get('authToken');
}.property('authToken')
});
console.log(currentUser); // logs (unknown mixin)
export function initialize(container, application) {
// register current user factory
application.register('user:current', currentUser, {singleton: true});
// inject factory
application.inject('controllers', 'currentUser', 'user:current');
}
export default {
name: 'application',
initialize: initialize
};
【问题讨论】:
-
您是否尝试过将您的 currentUser 定义/控制台登录移动到您的初始化函数中?
-
@KoriJohnRoys 我试过了,但得到了相同的反馈。但是我发现这个issue 似乎是相关的。无论如何,我能够在我的控制器中访问当前用户,所以看来注入工作毕竟是有效的。
标签: ember.js