コントローラ(または他の場所)で計算されたプロパティを定義できます。
コントローラー
MyApp.ApplicationController = Ember.Controller.extend({
content: "a-content",
editedContent: function() {
return "message-" + this.get('content');
}.property('content')
});
景色
MyApp.FooView = Ember.View.extend({
tagName: 'p'
});
テンプレート(コンテンツはString
ここにあります)
{{#view MyApp.FooView elementIdBinding="editedContent"}}
{{content}}
{{/view}}
そして、JSFiddleはここにあります。
編集
プロパティはコントローラーeditedContent
に属しているため、ビューはどのようにプロパティを確認できますか?ApplicationController
ルーターは、起動後、定義されApplicationView
ていない場合は、またはそのテンプレートを自動的にレンダリングします。ApplicationView
詳細が必要な場合は、Emberガイド「Ember.jsルーターについて:入門書」をお読みになることをお勧めします。
また、 Ember Blog-1.0 Prereleaseで読むことができるように、デフォルトのビューコンテキストはそのコントローラーであるため、コントローラープロパティを{{editedContent}}
直接取得します。editedContent
ヘルパーは{{#view}}
コンテキストを変更しなくなり、代わりにデフォルトで親コンテキストを維持します。または、提供されている場合はコントローラープロパティを使用します。コンテキストプロパティを直接オーバーライドすることもできます。順序は次のとおりです。
- 指定されたコントローラー
- 提供されるコンテキスト(通常はハンドルバーによる)
- parentViewのコンテキスト(ContainerViewの子の場合)