URL を 1 つだけ使用する単一ページ アプリケーションの場合、ルーターの役割は何ですか?「/」(インデックス) にマップされるルーティング エントリは 1 つだけですか?
通常、単一ページのアプリケーションは引き続き URL を使用します。たとえば、gmail を使用しているときに URL の変更を監視します。したがって、この場合の単一ページ アプリケーションは、URL が変更されてもブラウザが新しいページをフェッチしないことを意味します。gmail と同様に、典型的な ember シングルページ アプリケーションは、ユーザーがアプリケーションのさまざまな部分に移動すると URL を変更します。ember ルーターはこれを自動的に処理します。
はいの場合、Router API によって提供される利点を失いますよね?
URL を使用しないことに決め、本当に "/" のままにしておきたい場合は、引き続きルーターを使用できます。ルーターのロケーションタイプを「なし」に設定するだけです
http://emberjs.com/guides/routing/specifying-the-location-api/を参照してください。
ここでのルーティングは状態の管理を意味することを理解していますが、いつでもユーザーは一連の状態になる可能性があります。たとえば、gmail を使用すると、ユーザーはログイン状態になり、作成状態になります。
確かにそうです。ember ルーターは基本的に、ルート (リーフノード) がいくつかのリソースの下にネストされているステートチャートです。したがって、たとえば gmail の場合、ログインしているユーザーのみが作成状態になることができます。
G メールの URL:https://mail.google.com/mail/u/0/?shva=1#inbox
// Gmail Routes:
* /mail - the mail application
* /u/0 - connected account index 0 for the current user
* ?shva=1 - http://stackoverflow.com/questions/1692968/what-is-shva-in-gmails-url
* inbox - folder name
EmberMail バージョン:https://mail.ember.com/mail/u/0/inbox
// EmberMail Routes
this.resource('mail', { path: '/mail' }, function() {
this.resource('currentUser', { path: '/u' }, function() {
this.resource('account', { path: '/:account_id' }, function() {
this.route('folder', { path: '/:folder_id' });
});
});
});
ルーティングを広範囲に使用するサンプル アプリケーションを教えてください。
私が知っている最も良い例は談話です。大規模な ember アプリケーションが ember ルーターを使用する方法の例については、以下を確認してください。