したがって、これは私のモデルがどのように見えるかです (フィクスチャ データで表されます):
var posts = [{
id: 'b026324c6904b2a9',
title: "My new front door",
author: { name: "Matthieu" },
date: new Date('2013-10-28T12:19:30.789'),
status: 'new',
hidden_message: "hidden1"
}, {
id: '26ab0db90d72e28a',
title: "Best pizza in town",
author: { name: "Harry" },
date: new Date('2013-10-28T12:19:30.789'),
status: '',
hidden_message: "hidden2"
}, {
id: '6d7fce9fee471194',
title: "Skateboard dreamland",
author: { name: "Matthieu" },
date: new Date('2013-10-28T12:19:30.789'),
status: 'solved',
hidden_message: "hidden3"
}, {
id: '48a24b70a0b37653',
title: "my house looks like a pumpkin",
author: { name: "Harry" },
date: new Date('2013-10-28T12:19:30.789'),
status: '',
hidden_message: "hidden4"
}];
私のルート:
App.IndexRoute = Ember.Route.extend({
model: function() {
return posts;
}
});
そして、対応する投稿が新しい場合はテンプレートに特定の HTML を表示し、解決済みの場合は別の HTML を表示し、ステータスが空白の場合は何も表示できないようにしたいと考えています。これを行う最善の方法は{{#if}}
ヘルパーを使用することのように思えますが、それは等価比較を行わず、ブール変数しか使用できません。だから、私はこのようなことをしたいと思います:
App.IndexController = Ember.ArrayController.extend({
isNew: function(val) {
if(this.get('currentitem.status') === 'new') {
return true;
}
return false;
}.property('isNew')
});
しかし、テンプレートで {{#each}} によって現在アクセスされているアイテムを選択する方法がわかりません。これは可能ですか? はいの場合、どうすればよいですか (または同様のこと)?
皆さんありがとう!