我正在尝试使用用户数据(id、名称等)设置一个全局对象,并在模板中使用它来为评论着色。就像用户登录时一样,它会突出显示他们的评论。
我试过这个:
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 }
但这也没有用。我觉得这将是最简单的方法。使用与范围无关的全局信息并在模板本身中使用它的协议是什么?同时也保证用户数据的安全。