ユーザーデータ(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 }
しかし、それもうまくいきませんでした。それが一番簡単な方法だと思います。スコープに関連付けられていないグローバル情報を使用し、それをテンプレート自体で使用するためのプロトコルは何ですか?また、ユーザーデータを安全に保ちます。