我需要在我网站的顶部栏中显示当前用户的名称。用户注销时,用户数据应该消失。我使用了以下两种服务:
app.factory('Auth', ['$resource', function ($resource) {
return $resource('/user/login');
}])
.service('CurrentUser', [function () {
this.user= null;
}]);
这是我的登录和topbar控制器。
app.controller('LoginCtrl', ['CurrentUser', 'Auth', '$location', function (CurrentUser, Auth, $location) {
this.login = function () {
var me = this;
me.user = Auth.save(me).$promise.then(
function (res) {
CurrentUser.user = res;
$location.path("/");
}, function (res) {
me.errors = res.data;
});
}
}])
.controller('TopBarCtrl', ['CurrentUser', function (CurrentUser) {
var me = this;
me.user = CurrentUser;
}])
使用此控制器和服务必须使用{{contoller.user.user.name}}来显示用户的名字。有没有办法使用{{contoller.user.name}}代替并保持双向绑定?
答案 0 :(得分:0)
你必须使用
me.user = CurrentUser.user;
当你在第一个设置http.save的结果然后设置为CurrentUser的.user属性时。
服务器的结果是什么,例如json,看起来像什么?