0

TodoMVC チュートリアルに基づいて、詳細フィールドを todo モデルに追加しました。これは、Todo をクリックしたときにページの別の場所に表示したいと考えています。この問題は、todos/index テンプレートでこの linkTo をクリックすると発生します

{{#linkTo 'todo' this}}{{title}} {{/linkTo}}

これを todos ルートの「details」という名前のアウトレットにレンダリングしたいのですが、デフォルトのアウトレットはそのままにしておきます (todos/index がレンダリングされる場所であるため)。問題は、todo テンプレートが正しいアウトレットにレンダリングされることですが、以前に todo のデフォルト アウトレットにあったすべてのコンテンツも破棄されます。ルートで正しいコンテンツを指定しているため、古いアウトレットのコンテンツが破棄される理由がわかりません。

現在のルーターは次のようになります。

Todos.Router.map(function () {
this.resource('todos', { path: '/' }, function () {
    this.route('active');
    this.route('completed');
    this.resource('todo', {path: ':todo_id'});
    });

});

私の TodoRoute はここにあります

Todos.TodoRoute = Ember.Route.extend({
renderTemplate: function()  {
    this.render( {
        outlet: "details",
        into: "todos"
    });
  }
})
4

2 に答える 2

0

私が知る限り{{outlet}}、親ルートのテンプレートに何も持たず、{{render}}. 次に、ルートでrenderTemplateフックを無視し、 modelorを使用して、ヘルパーがどのレコードをレンダリングするかを指定するために使用するsetupController階層の上位にあるコントローラーのプロパティを設定します。{{render}}

于 2013-09-27T13:45:50.637 に答える