問題タブ [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.
javascript - Ember.pre4バージョンの通常のクラスからコントローラーにアクセスするにはどうすればよいですか?
これまで、私は通常、サーバーにアクセスし、データを取得してコントローラーに配置するためのすべての機能を含むデータソースクラスを持っていました。これは次のようになります。
ただし、4より前のバージョンがリリースされたため、ルーターからコントローラーにアクセスできなくなり、この質問で説明されているように、コントローラーへのアクセスが非常に制限されているようです。
それで、これらの変更によると、これはもう不可能ですか?推奨される方法は何ですか?
ember.js - 移行後にEmberがレンダリングされない
Railsアプリの上に構築され、Ember Dataを操作し、1つのエンティティタイプのみを表示、作成、サーバーに永続化する、非常にシンプルなEmberアプリを作成しました。最新のツール(Ember v1.0.0-pre.4-134-gaafb5eb)を備えたすべて。
しかし、私が遭遇した非常に奇妙な問題があります。私のアプリには、エンティティリスト(インデックス)と新しいエンティティを作成するためのフォームの2つのビューがあります。インデックスを直接入力すると、すべてOKと表示されます。しかし、他のビューに移動してからリストに戻ると、ビューは再度レンダリングされません。どこに問題があるのでしょうか?
新しいEmberルーターを使用していることが原因である可能性があります(おそらく正しくありません)。だから私はここにアプリの重要な部分を(私の観点から)貼り付けています:
ルーター:
リストに戻るリンク-これは機能しません:
ここでアプリ全体を見てください:https
://github.com/pavelsmolka/roommating
(素晴らしいhttps://github.com/dgeb/ember_data_exampleに大きく影響を受けています)
信じられませんが、Ember自体のバグでしょうか?
ember.js - エンバーは子コントローラー/ビューを展開します
これを機能させるにはどうすればよいですか?
多くのメモがあるプロジェクトがあります。メモはitemControllerを使用して一覧表示されます。これらのメモには、ルートによって切り替えることができる拡張ビューが必要です(プロジェクト内のメモの表示ビューです)。ページにリストされている特定のメモを切り替えて展開するルートを取得するにはどうすればよいですか?
ember.js - Ember ルーター: 非同期モデル (約束?)
[これは、新しい 1.0.0-pre.4+ ルーターに関するものです。]
Ember Route のメソッドから、読み込みに非同期コールバックが必要なレコードを返したいと考えてmodel
います。たとえば、複数の (ネストされた) モデルを読み込む必要があるためです。これを行う最善の方法は何ですか?
問題を説明する架空のブログ アプリのサンプル コードを次に示します。
javascript - 来た道、前のルート
あるルートを訪れてから別のルートに移動した場合、どのルートから来たかを知る方法はありますか?
私は試しましたdocument.referrer
- これはうまくいきません。グーグルも何の答えももたらさなかった..
たとえば、このフィドルをセットアップしてテストしました..
javascript - Ember.jspre-4での直接URL訪問でコンテンツを入力する
ほとんど機能するコードをいじる:http://jsfiddle.net/VDA2p/16/
ルートの抜粋は、問題がどこにあるかを信じています。
「ビデオ」リンクを選択すると、URLは「/ Listings / 1 / videos」(たとえば)になり、コンテンツは問題なくロードされます。アドレスバーから直接このURLにアクセスした場合、ビデオは取得されません。私はserialize()の呼び出しをいじってみましたが、それを機能させることができず、正しい道を進んでいるかどうかさえわかりません。また、URLに直接アクセスして動画が表示されない場合は、「/ Listings」URL(コンテンツを適切に読み込む)に直接アクセスして「動画」リンクのいずれかを選択すると、動画コンテンツは次のようになります。いずれのエントリに対してもロードされなくなりました。ただし、「/ Listings」URLでブラウザ/アプリを更新すると、「ビデオ」リンクの下にコンテンツが存在します。
更新1:
上記の元のコードセグメントを代わりに変更すると、
理由はわかりませんが、期待どおりに動作します。
更新2:
ただし、リンクを介さずに「/ Listings / 1 / videos」URLに直接アクセスすると、「ビデオの表示」リンクが壊れました。クリックすると個々のビデオが正常に読み込まれますが、「/ Listings / null /videos/1」として表示されるようになりました。戻るボタンを使用すると、「/ Listings / 1 / videos」に戻り、すべての「ビデオの表示」リンクに「null」が含まれなくなります。
たとえば、「/ Listings / 1 / videos / 2」URLに直接アクセスしようとすると、「エラー:アサーションに失敗しました:ルーターで動的セグメントvideo_idを使用しましたが、App.Videoが存在せず、州のmodel
フックを無効にしませんでした。」私は今も追い詰めるために働いています。「ビデオを見る」リンクを選択すると、データは問題なくロードされます。
ember.js - enableLoggingは新しいEmberルーターでどこに行きましたか?
新しいルーター(1.0.0-pre.4 +)でルート遷移をどのようにログに記録しますか?
javascript - ルートを離れる際の残り火のクリーンアップ
ルートを離れるときに、タイマーを停止するなどのクリーンアップを行いたいです。そのためには、ルートを離れるときにトリガーされるイベントが必要であり、そのイベント内のコントローラーのインスタンスにアクセスする必要があります。
イベントがありますが、exit
引数を取得せず、this.get('controller')
内部でも機能しません-未定義を返します。
exit
イベント、またはおそらく私が知らない別のイベントでコントローラーインスタンスを取得するための適切な方法はありますか?
私はこのフィドルを私が欲しいものの例でセットアップします。
javascript - Ember.jsでページネーションルートを適切にロードするにはどうすればよいですか?
#/posts
投稿の最初のページを表示する投稿用のルートと、#/posts/:page_id
リクエストしたページを表示するページネーション ルートがあります。私のルーターは次のようになります。
これらのルートは次のようになります。
これは、実装してから約 1 か月間は問題なく機能しましたが、最近、#/posts
ルート以外では機能しなくなりました。REST API が正しい JSON を返しても、ページが読み込まれません。
Fiddle here
#/posts
route here
#/posts/1
route here (JSON が送信されてもコンテンツは読み込まれないことに注意してください)
ember.js - DS.RESTAdapterで予想されるJSON応答の完全なリストは何ですか?
Ember.jsアプリ用のカスタムexpress.jsベースのサーバーを作成しようとしています。私はかなりうまくやっていますが、EmberDataが特定の瞬間にどのJSON応答を期待しているかを推測しようとして常に行き詰まっています。
この真新しいドキュメントはhttp://emberjs.com/guides/models/the-rest-adapter/の素晴らしいスタートですが、十分に完全ではありません。
暗闇の中で刺すと、私は理解するようになりました(Ember pre4、Ember Data 11):
誰かが私がこれらの空白のいくつかを埋めるのを手伝ってもらえますか?
編集、予想されるJSON応答の完全なリスト
これらの応答は、ember-data RESTアダプターの単体テストから収集され、ExampleEmberDataアプリでネットワークトラフィックを監視することによって収集されました。