次のユーザーモデルを持つ:
Sks.User = DS.Model.extend
firstName: DS.attr("string")
lastName: DS.attr("string")
「fullName」計算プロパティはどこで宣言する必要がありますか?
fullName: Ember.computed(->
firstName = @get("firstName")
lastName = @get("lastName")
firstName = "" if firstName is `undefined`
lastName = "" if lastName is `undefined`
lastName + " " + firstName
).property("firstName", "lastName")
それは「UsersController」にあるべきですか、それともモデルに直接あるべきですか? Ember のドキュメントには、セッション間でのみ使用されるフィールドはコントローラーに記述する必要があると記載されています。しかし問題は、インデックス テンプレートで「fullName」にアクセスできなかったことです。
Sks.IndexController = Ember.Controller.extend
needs: ['users']
ここでは、'fullName' にアクセスできませんでした (コントローラーで宣言されています)。
{{#each user in controllers.users}}
<li>{{user.fullName}}</li>
{{/each}}
ただし、それはモデルの場合です。