我有一个使用ember-auth的Ember.js应用程序。
Auth.on("signInSuccess", function() {
App.currentUser = App.User.find(Auth.currentUserId);
});
我还有一个控制器(参见 App.currentUser ):
App.CustomersIndexController = Ember.ArrayController.extend({
currentUserBinding: 'App.currentUser'
customers: null,
loadCustomers: (function() {
var company = this.get('currentUser').get('company');
return this.set('customers', company.get('customers'));
}).observes('currentUser.company')
});
问题:
绑定不起作用,因为“App.currentUser”为空。控制器在“signInSuccess”事件之前初始化。
“客户”应将currentUser的公司客户作为默认客户。控制器也有逻辑(从显示的代码中删除),因此用户可以将“客户”设置为另一个阵列。
答案 0 :(得分:2)
您可能必须使用set
方法正确通知观察者。
App.set('currentUser', App.User.find(Auth.currentUserId));