0

私は最近、Ember-CLI で Ember.js を使い始めました。とても興奮しています。しかし、私には明確でないことがいくつかあります。

これが私のルーターです:

this.resource("authenticated", { path: '/' }, function() {
  this.resource("contacts", function() {
    this.resource("contact", { path: ':id' });
  });

  this.resource("chats", function() {
    this.resource("chat", { path: ':id' });
  });

  this.resource("settings", function() {
    this.resource("setting", { path: ':id' });
  });
});

問題は、なぜ 2 回目のネスト後に「リゾルバー」が「認証済み」リソースの外部にあるオブジェクトを見つけ始めるのかということです。

例えば

my-app/pods/chats/index/view

しかし、予想される my-app/pods/authenticated/chats/index/view

「認証済み」が見落とされるのはなぜですか?

4

1 に答える 1

0

root: に URL を割り当てたため、認証されたルートは URL に適用されません{ path: '/'}

パスを「認証済み」に変更するか、すべて一緒に削除する必要があります。

this.resource("authenticated", function() { ... });

ただし、認証済みは、ユーザーが に移動したときにのみレンダリングされますmy-app/pods/authenticated。それでも認証済みのインデックスをレンダリングしたい場合は、ネストされたリソースにプレフィックスを付ける必要があります。

this.resource("authenticated", { path: '/' }, function() {
    this.resource("contacts", { path: '/authenticated/contacts' }, function() {
        ...
    });

    this.resource("chats", , { path: '/authenticated/chats' }, function() {
        ...
    });

    ...
});

これがお役に立てば幸いです。

于 2015-01-17T14:26:18.340 に答える