2017-01-18 13 views
0

にネストされたルートをロード:私は今user roles内を表示したい(別名user rolesエンバー2 - 私は2つのルート持つ親ルート

  • /users/:user_id(別名user
  • /users/:user_id/roles

userルート。 私はまだ個別のuser rolesルートを持っています。

user rolesuserルート内にロードされている場合は、ページが別々であり続けなければならないloadingとして(そのためuser_rolesためのサーバーへのリクエストのuser rolesセクション/テンプレートを表示する必要があり、私は内からuser_roles (ajax)をロードする必要はありませんuserルートはルートロードを遅くするため)。

どうすればよいですか?

  • 私はuser-roles-component ...私はと呼ばれる非同期成分を作ることができると思うし、そうみたいにuserを養う:{{user-roles-component user=user}}。次に、私は両方のルートでこのコンポーネントを使用できます。ただし、user rolesルートの場合は、モデルをロードしないでください。そして私はuser_rolesのデータを私のコンポーネントで直接処理するので、DDAUに違反することはありません。
  • userの非同期ローディングを扱うuser-roles-serviceというサービスを作成し、両方のルートに渡して両方のルートにあるカスタムコンポーネントを使用してレンダリングします。

答えて

0

ルート内にloading stateを作成し、ボタン/リンクを1つクリックして受信したコンテンツをコンポーネントに渡すと、ロールのコンテンツを読み込みます。

代わりに、コンポーネントにローディング状態を作成することもできます(おそらくやり方も同じです)。これを行うには、あなたのAjaxリクエストからPromiseが届きます(いくつかの方法があります:.find().query()、、ember-network)。コンテンツを読み込むためにボタン/リンクをクリックすると、コンポーネントの読み込み状態がアクティブになり、約束が解決されるとコンポーネントの状態が再び変更されます。

コンポーネントがデータを受信し、AUDD(アクションアップ、データダウン)を保持すると、そのコンテンツを表示することができます。

関連する問題