2

ネストされたルートを持つ ember アプリケーションがありますが、親ルートに戻るときに子ビューが破棄されるという問題があります。おそらく、このフィドルを見るのが最も簡単でしょうhttp://jsfiddle.net/j32yT/2/ - 「ユーザー」のリストを表示することから始めます。[作成] をクリックすると、[保存] ボタンのあるユーザー作成「フォーム」が表示されます。保存時に、アクションはその親に遷移するルートで発生します。

移行時に作成ビューが破棄されることを望んでいましたが、そうではないようです。ルート出口を処理する関数を追加すると、クリーンアップできますが、少し面倒です。ルーティングの仕組みを誤解していませんか?

アップデート

ユーザールート内にインデックスルートを導入することで、私が望んでいたことを達成することができました.http://jsfiddle.net/AsJca/1/に新しいフィドルがあります. このようなことは初めてなので、何がベストプラクティスを構成するのかまだ理解していません!

4

1 に答える 1

0

outletforApplication Viewと forがありますUsersView

<script id="application-template" type="text/x-handlebars">
    {{outlet}}
</script>

<script id="users-template" type="text/x-handlebars">
    {{#each user in controller}}
    {{user.name}}
    {{/each}}    
    <button {{action create_user}}>Create</button>
    {{outlet}}
</script>

あなたがするとき:

router.get('applicationController').connectOutlet('users');

の はoutletapplicationView満たされますが、には独自UsersViewの . があることを確認してください。このアウトレットを実行すると、. したがって、アウトレットと一緒に存在する新規作成ボタンと一緒に存在します。Users Viewoutletrouter.get('usersController').connectOutlet('createUser');create new formusers-template

次のように変更できます。

router.get('applicationController').connectOutlet('createUser');

それを交換したいが、実際に何が必要かをもう一度考えてみてください。

于 2012-08-29T20:56:46.913 に答える