6

私は Ember-js を初めて使用します。最近、いくつかのブログ エントリを調べていて、Tom dale による Ember-js の紹介のビデオも見ました。

要約すると、Router Api が新しく導入され、Ember-js に起こった最高の出来事であると彼らは言います。Router Api はアプリケーションの状態を管理するために使用され、各状態は URL で識別されます。 URL を 1 つだけ使用します。ルーターの役割は何ですか?「/」(インデックス) にマップされるルーティング エントリは 1 つだけですか? はいの場合、Router API によって提供される利点を失いますよね?

4

1 に答える 1

4

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 ルーターを使用する方法の例については、以下を確認してください。

于 2013-03-18T13:44:24.847 に答える