私はApplicationController内のすべてのユーザのリストを初期化し、別のビューのドロップダウンでそれらを表示したいと思います。どのようにして異なるビューからApplicationControllerにアクセスできますか?ここで別のビューからEmber ApplicationControllerへのアクセスを取得する
は、関連するコードです:
App.ApplicationRoute = Ember.Route.extend({
setupController:function(controller) {
controller.set('users', App.User.find());
controller.set('selectedUser', null);
}
});
<script type="text/x-handlebars" data-template-name="users">
{{view Ember.Select
contentBinding="App.ApplicationController.users"
optionValuePath="content.id"
optionLabelPath="content.fullName"
selectionBinding="App.ApplicationControllerselectedUser"}}
selected user: {{App.ApplicationController.selectedUser.fullName}}
</script>
クレイジー、を介してコントローラを探すことができます '{{デバッガ}}'、すなわち 'this.controllers'は' null'なのでを返さ。しかしそれは今働きます! –
これはテンプレートの文脈における '' this''が '' controller''に相当するからです。 '' {{this.constructor}} // App.ApplicationController {{controller.constructor}} // App.ApplicationController:ember''''のように、コンストラクタを印刷することで証明できます。 –