こんにちは私はこの残り火モデルを持っています。likeMessageの計算プロパティは、テンプレートで使用している文字列を作成しています。(以下を参照)これは機能しますが、モデルにこの「ビューレイヤーコード」を含めるのは快適ではありません。より良いアプローチは何でしょうか?
/**
* @class
* @name Entry
*/
James.Entry = Ember.Object.extend(
/** @lends Entry# */
{
likes: [],
likeMessage: function() {
var likes = this.get("likes"),
withNameCount = 0,
names = [],
likeCount = likes.length;
for(;withNameCount < likes.length && withNameCount < 2; withNameCount++) {
names.push(likes[withNameCount].name);
}
if(likeCount == 0) {
return "Nobody likes this";
} else if(likeCount == 1) {
return names[0]+ " likes this";
} else if(likeCount <= 2) {
return names.join(" and ")+" like this";
} else {
return names.join(", ")+" and "+(likes.length-2)+" others like this";
}
}.property("likes")
}
);
私のテンプレート:
Likes:
{{likeMessage}}