3

Ember.js アプリケーションの基本的なルーター定義を Ember API ドキュメント ( http://emberjs.com/api/classes/Ember.Router.html ) から直接引用するとします。

App = Ember.Application.create({
  Router: Ember.Router.extend({
    root: Ember.Route.extend({
      index: Ember.Route.extend({
        route: '/'
      }),
      ... additional Ember.Routes ...
    })
  })
});

これにより、クロムで次の URL が生成されます。

ローカルホスト/

しかし、Firefox と IE では以下が生成されます。

ローカルホスト/#

最後にハッシュバンを追加するだけでなく、戻るボタンには Firefox と IE の履歴があります。

ローカルホスト/

ただし、この「状態」は更新できません。更新すると、次の場所に移動します。

ローカルホスト/#

これは、ルーターが何らかの形で 2 つの状態をプッシュしているように見えますが、1 つの状態は実際には有効ではありません。誰かが私がここで見逃していることを説明してもらえますか?

4

1 に答える 1

2

デフォルトでは、Ember アプリのルートには # があります。矛盾が発生する理由はわかりませんが、URL に # を使用しないようにルーターに指示するために、「場所」オプションを設定できます。

App.Router = Ember.Router.extend({
  location: 'history'
});

ドキュメント内で location 属性を参照する場所は次のとおりです: http://emberjs.com/api/classes/Ember.Router.html#property_location

于 2012-11-13T18:00:36.133 に答える