Ember 1.3.0,数据:1.0.0.beta.4
我正在运行初始化程序来设置currentUser
控制器以保存经过身份验证的用户。
Em.Application.initializer({
name: 'currentUser',
initialize: function(container, App) {
var ObjectController = Em.ObjectController.extend({
#...init code, sets content to current user
});
container.register('currentUser:main', ObjectController);
container.typeInjection('controller', 'currentUser', 'currentUser:main');
container.typeInjection('route', 'currentUser', 'currentUser:main');
},
});
在测试时,我希望能够取消注册此值或销毁控制器或以某种方式重置它,以便我可以测试当前用户注销的情况。
afterEach( function () {
Ember.run(function() {
var objectController = App.__container__.lookup("currentUser:main");
if (typeof objectController === "object") {
//Neither of these seem to work
objectController.set('content', null);
// OR this
objectController.destroy();
}
Rise.reset();
});
});
不幸的是,这似乎不起作用。如果我在运行循环中记录objectController,我可以看到我将内容设置为null
或者isDestroying
标志设置为true,但是当我尝试在此运行后检索内容时循环,它返回用户或包含用户的promise。
有没有办法真正破坏这个对象?