問題タブ [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.
ember.js - transitionTo('route'、context)は、要求されたルートではなく、コンテキストベースルートを渡します
私はEmberアプリで作業しており、ボタンをクリックして新しいルートに移行し、そのルートのコンテキストとしてオブジェクトを渡します。
問題は、どのようにそのコンテキストを渡そうとしても、移行先のルートに到達するまでに常に失われることです。
調査中(http://jsfiddle.net/fxbXM/2/)、コンテキストは、要求されたルートで機能するため、ルーターが最初にヒットしたルートに渡されたようです。(各ルートレベルからのconnectOutlets関数の出力を参照してください)
これは、実際のアプリをデバッグするときに見つけたと思ったことを確認しているようです。EmberのtriggerSetupContext関数には、enterStates
[Router、'root'、'create']の3つとcontexts
[myObject、null、null]の3つがあります。
コンテキストが逆の順序である場合、必要な場所で必要なものを取得できます。
オブジェクトをコンテキストとして渡す方法で根本的なエラーが発生していますか?別のアプローチを使用する必要がありますか?
ember.js - 現在のルートのコンテキストを取得する
ember ルーターを使用して、ember アプリに検索フィールドを実装しました。私のルーターの関連部分は次のようになります。
検索フィールドの値を現在のルートのコンテキストにバインドしたいと考えています。stateMetaFor
次のようにコントローラーに実装されているメソッドを使用して、コントローラーでこれを行う方法を見つけました。
findStateByPath
1) 文書化されていないメソッドを使用し、2) stateMeta オブジェクトの内部に関する知識が必要なため、私はこのメソッドに満足していません。これを行うより良い方法はありますか?ないならあるべき?
javascript - Ember-Data: 「マッピング」はどのように機能しますか
現在、ember + emberdata + router + asp.net web api で何かをまとめようとしています。ほとんどは機能しているように見えますが、ember-data がfindAll
モデルのアダプターを通過しようとすると、エラー メッセージが表示されます。
私のバックエンドには、次のようなモデルがあります (C#):
私のアプリでは、ember-data を使用して次のように表します。
次のように、RESTAdapter を使用してアプリで定義された Store もあります。
そして、ストアは私のコントローラーで以下のように使用されます:
ルーターは次のように定義されます。
アプリケーションを実行すると、同じ構造を持つすべてのオブジェクトに対して次のメッセージが表示されます。
キャッチされないエラー: アサーションに失敗しました: サーバーはキー 0 のハッシュを返しましたが、マッピングがありません
参考までに、サービスが返す json を次に示します。
問題が何であるかを正確に伝えることはできません。アサーションはマッピングが必要であると述べているため、知りたいです:
- このマッピングとは何か、およびその使用方法。
- 返された json は配列であるため、アプリで別のタイプのコントローラーを使用する必要がありますか、または ember-data でこのタイプの json を操作するときに知っておくべきことはありますか? または、サーバーの JsonFormatter オプションを変更する必要がありますか?
どんな助けでも大歓迎です。
問題を理解するのにこれだけでは不十分だと思われる場合は、さらに情報を追加できます。
EDIT : バックエンドでいくつかの変更を加えましたがfindAll()
、サーバーでの同等のアクションにより、出力が次の json としてシリアル化されます。
しかし、まだクライアントにモデルを設定することができず、エラー メッセージが次のように変わりました。
キャッチされないエラー: アサーションに失敗しました: サーバーは主要なジャンルのハッシュを返しましたが、マッピングがありません
他に何が間違っているのかわかりません。
この例外をスローするメソッドはsideload
、次のようなマッピングをチェックします。
この呼び出しsideloadedType = type.typeForAssociation(prop);
が返さundefined
れ、エラー メッセージが表示されます。このメソッドは、空の を返すtypeForAssociation()
for キーをチェックします。'associationsByName'
Ember.Map
現時点ではまだこれに対する解決策はありません。
ところで...
私の行動は次のようになりました:
Ember-Dataが期待するように(のように)json出力を生成する構成オプションが見つからなかったため、 json.NETによってシリアル化される元の実装を削除する必要がありました{resource_name : [json, json,...]}
。これの副作用は、組み込みの OData サポートを失ったことですが、それを維持したいと考えています。コレクション用に異なるjsonを生成するように構成する方法を知っている人はいますか?
ember.js - `insertNewline` は transitionTo を呼び出すことができますか?
私の質問のサンプルコードはこちらです。デフォルトで TextField を含む SearchView を表示するシンプルな Ember アプリです。
ユーザーがテキストを入力して Enter キーを押すと、テキスト ボックスに入力された値を渡して別の状態 (displayUserProfile) に遷移したいと考えています。
最初に、Textbox のinsertNewlineコールバックで、アプリケーションのルーターのtransitionToメソッドを呼び出し、値をパラメーター オブジェクトの一部として渡します。
それはうまくいきますが、無限スクロールに関する質問に対するパングラッツの答えは、別のアプローチを使用していることに気付きました。代わりに、ビューのコントローラーでメソッドを呼び出し、コントローラーのターゲット (ルーター) でメソッドを呼び出します。
これにより、コードが次のように変更されます。
私の質問は次のとおりです。どちらのアプローチが優れていますか? ビューから直接transitionToを呼び出すか、ビューのコントローラーに委譲しますか?
ember.js - Ember.js Router ベースのアプリケーションがページの更新時に ember-data オブジェクトをロードしない
http://emberjs.com/guides/outlets/に基づくルーターベースのアプリケーション構造に従っています。
私は従うことができ、それを機能させることができます。しかし、ページが投稿 (/#/posts/2 など) を表示しているときにコンテンツの読み込み中に問題が発生した場合、その特定の投稿が読み込まれていないことが原因であると思われます。
それから抜け出す方法は何ですか?箱から出してすぐに動作するはずではありませんか。
フィドルの例: http://jsfiddle.net/nachiket/h5Hkm/
直接出力: http://fiddle.jshell.net/nachiket/h5Hkm/show/light/
動作
: http://fiddle.jshell.net/nachiket/h5Hkm/show/light/#/posts
動作
しない: http ://fiddle.jshell.net/nachiket/h5Hkm/show/light/#/posts/1
ember.js - ember.js で複数のルーター オブジェクトを使用する方法
私はまだ ember.js を使い始めたばかりですが、フレームワークの中でまだ大規模に見ていない部分の 1 つは、基本的な Ember Router です。小さな単一ページのアプリでは、すべての状態/ルートなどを管理する 1 つのルーターしかありません。しかし、アプリが成長するにつれて、パターンが 1 つのオブジェクトだけに集中しているように見える場合、複雑さをどのように管理しますか?
これが私が見落としているだけなのか、それとも iOS の AppDelegate のような大規模なグローバル状態管理オブジェクトであると想定されているのか、興味があります。
ember.js - App.get('router').send が原因でこのエラーが発生しました Uncaught TypeError: Cannot redefine property: __ember1346884664897
なぜこのエラーが発生するのか、誰にもアイデアがあります:
呼び出すとき:
私は自分のビューの 1 つから呼び出しを行っています。ルーターは正しい状態にあり、私が知る限り、すべてを本どおりに行っています。
どんなアイデアでも本当に感謝します...
物事をもう少しよく説明するのに役立つ要点を作成しました。https://gist.github.com/3647288
javascript - EmberJS:ルーターを複数のファイルに分割
ルーターを複数のファイルに分割する方法の良い例を誰かに教えてもらえますか?これを行うためのベストプラクティスはありますか?
ember.js - Emberjs ルーター: 関連付けられたコントローラーでビュー プロパティが定義されていません
「アウトレット」を使用する新しい Emberjs Router コンポーネントにアプリを移動しようとしています。
参照を参照してください: http://emberjs.com/guides/outlets/およびこれ: http://codebrief.com/2012/07/anatomy-of-an-ember-dot-js-app-part-i-redux-ルーティングとアウトレット/
これがどのように機能するかを理解する方法:文字列を使用してコンセントを接続すると、次のことが起こります
- Ember はアプリでビュー定義を探し、それをインスタンス化します
- Ember はアプリでコントローラー定義を探し、そのインスタンスを作成します
- 次のように 2 つを相互にフックします: ビューのコントローラー プロパティを設定し、コントローラーのビュー プロパティを設定します。
--- 最後のステップまでうまく機能します。ビュープロパティをコントローラーに設定できないようです。
JSBin はこちら: http://jsbin.com/ekekir/40/edit
関連コード:
App.Router
コントローラーとビュー
最後に、大きな脂肪の null を返します。
私は何か間違ったことをしていますか、それともこれはあるべき姿ですか?
ところで: これは ember-1.0.pre を使用しています。
ember.js - Ember.js のネストされたルーティングを適切に使用するにはどうすればよいですか?
私はこのルート部分を持ってい/articles/
ます. ここに や などのサブルートを作成したいと思い/
ます/list/
。これは私がしようとしている方法です:
記事ルートに移行しないので、何か間違っているに違いありません。これは私のルーティングログです:
しかし、articles
URL は履歴に登録されません。[戻る] をクリックすると、前の状態、つまり前の状態に戻りますarticles
。
私は何を間違っていますか?