問題タブ [ember-old-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.
redirect - Emberjs: ユーザーがルーターを使用していた最後の状態にリダイレクトする
ユーザーが最後にいた状態にルーターをリダイレクトしたいと思います。
これを行う最善の方法は何ですか?どういうわけかルーターでredirectToを使用することは可能ですか?
例を次に示します。投稿には 2 つの主要なルートがあるshow
とします。edit
今、私は次のようなことをしたいと思います:
追加の複雑さ: redirectTo は特定の投稿に固有です。つまり、 post/3 はデフォルトで に設定されますがedit
、 post/4 はshow
それぞれの最後の状態に応じてデフォルトに設定される場合があります。
これを行うもう1つの方法は、独自のstateManagerを持つ親コントローラー/ビューを使用し、適切な子ビューに移動することだと思います。それが好ましい方法である場合、これにルーターを使用することの何が問題になっていますか?
ここでの明確さは大歓迎です!
ember.js - 独立したアウトレットを持つビューのコレクションを管理する方法は?
ビューを数回レンダリングするときに、それぞれをコントローラーのインスタンスに関連付ける方法はありますか?
それが正しい方法ではないことは確かなので、私はそれをどのように行うべきかについての指示を受け入れています. しかし、ここにユースケースがあります:
私はこれらのルートを持っています:
ルートの aにField
sをリストしようとしています。これは次のとおりです。Form
form
Route
EditFormView
テンプレートをレンダリングしedit_form_view
ます:
を に接続outlet
しfieldsList
ます。fields_list
これによりテンプレートがレンダリングされFieldsListController
、配列であるコントローラーに接続されField
ます。
したがって、これはテンプレートFieldView
を使用するビューをレンダリングします。field_view
そして、これは私が問題を抱えているところです。outlet
の一部であるため、これを実際に「接続」することはできませんfieldsListController
。
私がやろうとしていることを説明します。私はこれをコントローラーに持っています。
これは、ビューをレンダリングするときに、outlet
infield_view.handlebars
が次のように接続されることを意味しshowField
ます。
フィールドが 1 つしかなく、 をクリックすると、これまでのところ、私がやろうとしていること(edit)
と接続が切り替わります。ただし、 に複数ある場合、を押すと、すべての が に接続されます。outlet
editField
Field
Form
(edit)
outlet
editField
this のおかげで理にかなってrouter.get('fieldsListController').connectOutlet('showField', field);
いますが、コントローラーの適切なインスタンスを取得する方法がわかりません(および/または各FieldView
s.
私はここでかなり迷っています。ビュー全体を変更せずに「インライン編集」を行おうとしていますが、それぞれが独立したビューのコレクションを持つことについては、適切なドキュメント/チュートリアルではないようですoutlet
...
コード ベース全体とオンライン ライブ バージョンへのリンクは、ページの上部にあります。
ember.js - emberルーティングが思い通りに機能しない
ルーターには 3 つのビューがあります。インデックス ビューはデフォルトとしてviewtwoを選択します。
問題は、viewoneまたはviewthreeに移動すると、インデックス ルートを通過することです。ビューをロードしてから、ビューワンまたはビュースリーをクリックした方に再ルーティングします。私の設定では、各ビューが HTML に対して何かを行い、それを元に戻す必要があるため、グリッチが発生しますが、何かがうまく同期していません (私はそれをテストしました私のグリッチは、非常に速く前後にクリックした場合にのみ発生するため、物事の読み込みとJavaScriptの適用の速さに関係しています)。
破棄される直前の didInsertElement の反対は何ですか?
また、viewto が index ルートから読み込まれるのはなぜですか?
ember.js - 残り火ルーター-404(見つかりません)ルートを処理する方法は?
を使用して、アプリケーション内の無効なルートを処理する方法を理解しようとしていますEmber.Router
。
現在、myapp.com /#FooBarDoesntExistなどの無効なルートを入力すると、インデックスルート('/')にリダイレクトされます。何が起こったのかをユーザーに知らせることができるように、ルーティング先のnotFoundまたは404状態を定義できればと思います。それらがホームページにダンプされるのとは対照的に。
ember.js - ember ルーティングのシリアライズおよびデシリアライズ パラメータ
日付パラメーターを使用してイベントのコレクションを取得する ember ルートがあります。コレクションを取得するために逆シリアル化関数を使用しています。コレクションが取得されると、URL が「/day/2012-10-08」から「/day/undefined」に変更されます。
イベントには日付の範囲が含まれているため、データを使用して日付パラメーターをシリアル化することはできません。代わりに、URL のパラメーターを返すことができるはずです。以下の例では、デシリアライズ時にルーター「current_params」の属性を設定し、シリアライズ時にそれを返します。serialize メソッドで params にアクセスできるかどうか疑問に思っています。
javascript - Ember.js ルーター アプリ アーキテクチャ -- ビューとコントローラーの複数のペアをネストする方法
私は ember アプリを持っており、コンセントの概念とコンセントの接続は問題ありません。私が理解していないのは、非常識なネストなしで複数のビュー/コントローラービューを別のビュー内に配置する方法です
電子メール機能とフォト ギャラリー機能を備えた icloud クローンを設計しているとします。今、次のようなことを達成したい場合
これを設計したい方法は次のようになります
これらをSplitViewのレベルにホットスワップするか、まとめて削除できますが、許可されているのは1つだけでこれを行う良い方法がわかりませんoutlet
。入れ子にしてはいけないものの中に次のものが強制されます。シングル アウトレット アプローチを使用すると、私の構造は次のようになります。
より複雑なネストを可能にする Ember.js/Router に適合するアーキテクチャ スタイルを見つけるにはどうすればよいでしょうか?
javascript - Ember.jsルーターアプリアーキテクチャ—緩く結合されたコンポーネント間で正しく通信する方法
アーキテクチャ的に言えば、コントローラーは(通常は)ビューを認識せず、他のコントローラーのビューについても認識しません。コントローラーは他のコントローラーについても知りません。これらの緩く結合されたコンポーネントが通信できるようにする必要がある場合もありますが、ベストプラクティスはそれらを緊密に結合しないことです。さまざまなコンポーネントがアプリ内でグローバルメッセージを送受信できるようにするメッセージングフレームワークプラグインはありますか?これらの種類の通信を処理するためのより良い方法はありますか?
ember.js - Ember によるウィジェット アプローチ
Emberをウィジェット アプローチ (分離したコンポーネント) で使用し、Ember アプリケーションの rootElement を設定し
、それぞれに独自のルーターとストア (必要な場合) を設定します。
http://jsfiddle.net/4xWep/2/で失敗しました が、ルーター インスタンス間に干渉の問題がある可能性があります。さまざまなアプリケーションとルーターを使用して、このウィジェットアプローチを理解していますか?
ember.js - ember.js ルーティング階層
ルーティング階層が必要です。したがって、「#/user/123」および「#/user/123/albums」という URL が機能するとよいでしょう。そして、私はそれをこのようにしたい:
この方法ではありません:
私の最初のコード例は愚かであるが、ルーティング階層が欲しい。そんな能力あるの!?
ember.js - emberjsルーター状態は、子が処理できないイベントを処理できますか?
典型的な階層ステート マシンのように、子ステートでは処理できないが親ステートでは処理できるイベントを取得して、親ステートで処理したいと考えています。「状態 Y のイベント xyz に応答できませんでした」というエラーが表示されます。
上記のコードでは、 xyz が y 状態で発生する何らかの方法がありますが、それは x で処理できますか? HSMがそれを行うと思いました。しかし、それは機能していません