Chciałbym zainicjować listę wszystkich użytkowników w aplikacji ApplicationController, a następnie wyświetlić je w menu rozwijanym w innym widoku. Jak uzyskać dostęp do ApplicationController z różnych widoków?Uzyskiwanie dostępu do aplikacji Ember ApplicationController z innego widoku
Oto odpowiedni kod:
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>
szalony, że nie pojawił się, kiedy stosowane '{{}}' debugger, czyli '' null' this.controllers' powrócił . Ale teraz działa! –
Dzieje się tak dlatego, że '' this'' w kontekście szablonu jest równoważne '' kontrolerowi''. które można udowodnić przez drukowanie konstruktorów, takich jak: '' '' {{this.constructor}} // App.ApplicationController {{controller.constructor}} // App.ApplicationController: ember''''' –