对于我的UI,我需要在导航栏的应用程序模板中显示一些信息。我需要更准确地显示帐户名称。
当我第一次加载页面时,我的导航栏是空的,但是当我登录并进行转换后,我想在导航栏上显示这些信息。
问题是当你在登录页面时,信息不是我的本地存储,但是当你在主页上时,我的本地存储被填充但在我看来没有任何改变。
App.ApplicationView = Ember.View.extend({
username: fctToGetUserName()
})
每次修改某些数据时,是否有任何方法可以更新视图?
[编辑]
我的登录后是否可以使用观察点在我的视图中触发init方法?
App.LoginController = Ember.Controller.extend({
actions: {
login: function() {
//DO MY LOGIN STUFF AND POPULATE MY LOCALSTORAGE AND CIE
var isRegistered = true;
}
}
})
App.ApplicationView = Ember.View.extend({
myVar: null,
actions: {
initMyVar: function() {
myVar = localStorage["myVar"];
}.observes('isRegistered')
}
})
答案 0 :(得分:0)
我会向控制器发送一个动作来更新视图。像这样:
App.LoginController = Ember.Controller.extend({
needs: ['application'],
actions: {
login: function() {
var controller = this.get('controllers.application');
controller.send('didLogin');
}
}
});
App.ApplicationController = Ember.ObjectController.extend({
myVar: null,
actions: {
didLogin: function() {
this.set('myVar', localStorage['myVar']);
}
}
});
App.ApplicationView = Ember.View.extend({
myVar: Ember.computed.alias('controller.myVar')
});