こんにちは、あなたの答えに感謝します! Ember とその構造を理解しようとしています。
そして、これが私が立ち往生している場所です: Web アプリ (モーダルビュー) でいつでもどこでも追加できるビューがあります。このビューを特定のコントローラーにリンクして、イベント、状態、およびその他の動作を処理したいと考えています。
しかし、それが可能な方法が見つかりませんでした!これはアプリケーションの構造上のエラーですか、それとも別の場所から発生した問題ですか? (自分?)
これがコードの関連部分です。
/views/post_news_popup.js
App.PostNewsPopupView = Ember.View.extend({
templateName: '_post-news',
close: function() { /*...*/ },
save: function() { /*...*/ }
});
index.html
{{view App.PostNewsPopupView}}
...
<script type="text/x-handlebars" data-template-name="_post-news">
<form {{ action "save" on "submit"}}>
{{view Ember.TextField valueBinding="name" placeholder="Fill in a name..."}}
{{view Ember.TextArea valueBinding="description" placeholder="Fill in a description..."}}
<button {{action 'close'}}>Cancel</button>
<button>Post news</button>
</form>
</script>
controllers/post_news_controller.js
App.PostNewsPopupController = Ember.ObjectController.extend({
actions: {
close:function() { /*...*/ },
save:function() { /*...*/ }
}
});
PostNewsPopupController を PostNewsPopupView にリンクする方法が見つかりませんでした。いろいろ試してみましたが、コントローラーの関数もビューの関数も呼び出されませんでした。
ルートを参照するとコントローラーが自動的に設定されることはわかっていますが、ここには特定のルートがなく、そのすべてのコードを ApplicationController に入れたくありません。
私を助けてくれてありがとう、質問がばかげていたらごめんなさい!:D