デフォルトでは、Emberは子リソースのビューを親リソースのビューで定義された{{outlet}}
に挿入します。どのように私はそれを無効にするのですか?すなわち、アプリケーションビューによって定義された{{outlet}}
に子ビューを挿入する。なぜこれがデフォルトですか?Ember.js:メインアプリケーションのコンセントに子リソースのビューを挿入する
ユースケース:users
リソースがあり、内部にnew
ルートがあります。親リソースの{{outlet}}
ではなく{{outlet}}
のアプリケーションにnew
を表示します。我々はオーバーロードすることができrenderTemplate
方法を持っている各ルートについては
App.Router.map(function(){
this.resource('users', function(){
this.route('new');
});
});
置き換えるのではなく新しいビューを追加することはできますか?私は、ページ上の他の要素と少し重なり合ってほしいと思っているパネルを持っています。これはbodyタグの中に直接置くことを意味しています(実際にはアプリケーションテンプレートの内側にあります)。初期化時にレンダリングするのではなく、プログラムで注入するのが理想的でしょう。 – commadelimited
私は完全に理解しているかどうかはわかりませんが、おそらく 'Ember.ContainerView'があなたのニーズに合っていますか? http://emberjs.com/api/classes/Ember.ContainerView.html – Wildhoney
いい答えだ。 ContainerViewは私が行ったことであり、うまく動作しています。ありがとうございました。 – commadelimited