角度用户数据Ng-Class

时间:2012-11-21 19:47:11

标签: angularjs global

我正在尝试使用用户数据(id,name等)设置一个全局对象,并在模板中使用它来为注释添加颜色。就像用户登录一样,它会突出显示他们的评论。

我试过这个:

app.factory('UserService', function() {
   return {
       name : 'Johnny Williams',
       id : 2
   };
});

然后我将注释名称设置为UserService.name并且可以正常工作。但我不想做的是:

var setcommentClass = function(comment) {
if (comment.name === UserService.name) {comment.type = 'user'}
else {comment.type = 'client'}
};

然后在模板中使用:

ng-class="{user: comment.type == 'user' }

这不起作用。这是为什么?必须有一种更有说服力的方式来做到这一点。我不想在数据库中存储“comment.type”,因为它是无用的信息。我尝试过使用:

ng-class="{user: comment.name == UserService.name }

但这也不起作用。我觉得这是最简单的方法。使用与范围无关并在模板中使用它的全局信息的协议是什么?同时还保证用户数据安全。

1 个答案:

答案 0 :(得分:0)

如果您需要在html文档中引用该服务,则必须将其分配给$scope。 你可以尝试:

$scope.UserService = UserService;

在您的控制器中。