主なアイデア:コントローラーがモデルのプロパティを正常に更新した後、子ビューを閉じるビューメソッドを呼び出したいと思います。
レンプレート:
<a {{action showUpdate href=true target="view"}}>update</a>
{{#if view.isUpdate}}
{{#view App.UpdateView}}
...here is a form
<button {{action update}}>Send</button>
{{/view}}
{{/if}}
意見:
App.MainView = Ember.View.extend({
templateName: 'update',
isUpdate: false,
showUpdate: function() {
this.set('isUpdate', !this.get('isUpdate'));
}
});
App.UpdateView= Ember.View.extend();
コントローラ:
App.MainController = Ember.Controller.extend({
updateCon: function() {
do something
},
...
ルーター:
update: function(router, evt) {
router.get('mainController').updateCon();
//router.get('mainController.view').showUpdate(); <-- doesnt work
}
そのため、コントローラーが正常に機能した後、ルーターでこれを呼び出そうとしましたが、機能しません。
Cannot call method 'showUpdate' of null
それは正しいアプローチですか?はいの場合:何が欠けていますか?いいえの場合:コントローラーが何かをしたときにビューを変形するにはどうすればよいですか?