問題タブ [ember-router]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
921 参照

javascript - ember.jsでネストされたルートを明確にするにはどうすればよいですか?

同じサブリソースを持つ2つのリソースがあります。

問題は、emberルーターが、階層全体からではなく、現在のルートと親ルートだけからルートオブジェクトの名前を作成することです。/posts/:id/comments/newしたがって、とオブジェクトの両方をルーティングしようとし/products/:id/comments/newますApp.NewCommentRoute。これを修正するにはどうすればよいですか?

この投稿は、GitHubの問題を基にしています。

0 投票する
2 に答える
3898 参照

ember.js - Ember.jsを使用したハッシュバンURL

Router「ハッシュバン」URLを使用するように設定しようとしています( #!)。

私はこれを試しましたが、明らかに機能しません:

これはEmberで行うことができますか?

0 投票する
2 に答える
937 参照

javascript - ember のオブジェクトを含むパスにリダイレクトするにはどうすればよいですか?

Ember.js でデータ駆動型のメニュー システムをまとめようとしています。JavaScript は次のjs/nodal.jsとおりです。

HTML は次のようになります。

私が望むのは、ユーザーが/menu/rootページを開くとすぐにリダイレクトされることです。これまでのところ、これを機能させるための適切な呪文を見つけることができませんでした. 上記をロードすると、次の例外が発生します。

直接ロードindex.html#/menu/rootすると機能します-機能していないのはリダイレクトだけです。this.transitionToIndexRoute 定義の行を次のように置き換えます。

/menu/undefinedリダイレクトしますが、 ではなくにリダイレクトし/menu/rootます。それは醜く、明らかに壊れています。

私は何を逃したのですか?

編集

提案どおり、ArrayController を追加してみました。

これにより、新しいエラーが発生します。

0 投票する
1 に答える
19038 参照

ember.js - New Router APIのルートとリソースの違いは何ですか?

Routeaとaの違いを理解しようとしていResourceます。私が理解する方法は、オブジェクトResourceのサブパスRouteを別のRouteオブジェクトに設定するのに役立ちます。しかし、パスに対してもデフォルトの名前マッピングが行われていると考えると、それは不明確です。

0 投票する
2 に答える
9658 参照

ember.js - 以前のルートを取得するにはどうすればよいですか?

現在のコントローラーで以前のルーターを取得するにはどうすればよいですか。

0 投票する
1 に答える
1661 参照

ember.js - ember.js で複数セグメント化されたキャッチオール ルートを定義する

私は Ember.js を使用しています。ユーザーがリソースに一致しない URL に移動した場合に、ユーザーをアプリケーションのルートに戻すキャッチオール ルートを作成したいと考えています。(履歴APIを使用しています)これを次のように実装しました:

私の質問は次のとおりです。パス内のセグメント数に関係なく、リソースに解決されていないパスに一致する単一のキャッチオール ルートを定義できますか?

私は Ember.VERSION を使用しています: 1.0.0-rc.1

0 投票する
1 に答える
1028 参照

ember.js - アサーションに失敗しました: アウトレット (メニュー) が指定されましたが、このビューはルート レベルでレンダリングされます

アプリケーションのルート レベルで追加のアウトレットをレンダリングしていたときに、この奇妙なアサーション エラーが発生しました。

これは私が使用するコードです:

というテンプレートがありmenuます。これは私の App.ApplicationRout です

しかし、それはエラーをスローしています:assertion failed: An outlet (menu) was specified but this view will render at the root level

0 投票する
3 に答える
4812 参照

ember.js - 残り火で崩壊経路を表示する

Ember で崩れたパスを表示したい。現在のパスを反復するにはどうすればよいですか?

私の意見では、2 つのアプローチがあります。

エンバーウェイ

編集:以下の私の答えを見てください

パンくずリストを表示する現在のステータスで、この質問を最新の状態に保ちます。この質問のリビジョンを参照して、履歴を確認できます。

ここにはいくつかの目標があります。

  1. ルート変更時にリッスン
  2. 現在のルートを見つける
  3. 現在のルートのリストを表示する
  4. ルート内のステップへの作業リンクを表示する

コントローラ

ルーター

テンプレート

現在取り組むべき問題は次のとおりです。

  • URL にアクセスする#/websites/8/pages/1と、ブレッドクラムの出力は次のようになります: (すべてのスクリプト タグ プレースホルダーを削除しました
  • URL は有効なルートである必要があります
  • メニューはルートにハードコードされています。ここ{{#linkTo}}のように動的にしようとしましたが、 -observerをトリガーしません。transitionTocurrentPath

反対に

ほとんどは上記と同じですが、いくつかの違いがあります。location.hashブレッドクラムは、ルーターから取得するのではなく、ループすることによって作成されます。

ApplicationControllerは次のようになります。

ApplicationRouteでカスタム ハンドラーをサブスクライブする必要があります。

これまでのところ、別のアプローチが私には最適ですが、この方法のhistory代わりにを使用するようにルーターを構成すると機能しなくlocation.hashなるため、これは良い方法ではありません。

0 投票する
1 に答える
1201 参照

ember.js - ログインしていない場合、特定の (ほとんどの) ルートを禁止する

静的ページも含め、サイト全体で Ember を使用しています。

既存のアカウントを作成、ログイン、または編集するために、user.new、user.login、およびuser.editを使用して、devise apiをセットアップしました。

どのユーザーもアクセスできます

編集画面を表示します。ユーザーがログインしている場合にのみこれを可能にしたいと思います。そうでない場合、そのルートはたとえばログインページにリダイレクトする必要があります。

それを行う方法はありますか?

0 投票する
1 に答える
7172 参照

ember.js - ブラウザーの [戻る] ボタンをクリックすると、ネストされたルートが同じテンプレート/アウトレットにレンダリングされる

アプリケーションがユーザー モデルの選択を追跡するために必要なネストされたルート階層があります。メイン アプリケーション テンプレートを使用して、各ルートをそのテンプレートの単一のアウトレットにレンダリングしようとしています。これは、親から子へとルート階層をたどる際に機能します。

ただし、ブラウザの戻るボタンをクリックしてルート階層に戻ると、親ルートの renderTemplate フックは起動しません。これにより、子はアウトレットからフック解除され、何もレンダリングされなくなります。

次に例を示します。

テンプレートを使用:

そして、これがこのコードの jsfiddle です。リンクをクリックしてルートをたどり、ブラウザの [戻る] ボタンをクリックすると、アプリケーション テンプレートがレンダリングされ、アウトレットには何もフックされません。

http://jsfiddle.net/Wq6Df/3/

再レンダリングを強制する方法はありますか、それとも間違った方法で行っていますか?