問題タブ [ember-model]
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-Model belongsTo に追加のパラメーターを渡すことはできますか?
Ember-Model の belongsTo に追加のパラメーターを渡す必要があります。独自の属性タイプで動作するようにしました。しかし、私も関係を築く必要があります。それはどういうわけか可能ですか?
映画の JSON は次のとおりです。
ありがとうございました
json - Ember コントローラーでのモデル/コンテンツのフィルタリングと再配置
次のようなデータの JSON 配列があるとします。
それは私のモデルの一部であり、このモデルは次のように設定されています。
App.UserRoute = Ember.Route.extend({ model:function(){ return App.User.FIXTURES ; // 上記で定義 } });
この JSON 配列から一意の年齢を取得し、テンプレートに表示したいので、計算されたプロパティの記事を参照し、Ember Enumerables を列挙する方法を少し読んで、最終的にこれを取得します。
コントローラーの上記のコードは正しくありませんが、内部に console.log ステートメントを追加すると、 data.filter() メソッドにも入らないという問題があります。IMO、通常は、App.Users.FIXTURE が存在する回数だけコンソール ログに記録する必要があります。property('content.@each') を使用してみましたが、どちらも機能しませんでした。また、this.get('content')をthis.get('content.@each')またはthis.get('content.@each').toArray() {エラーを吐き出す} に変更しませんでした。
ここで何をすべきか、または完全に欠けているものがわかりません。
ember.js - フェッチクエリを実行するアクションを介して別のコントローラーのモデルを設定します
別のコントローラーのコンテンツを設定しようとしていますが、モデルが未定義を返します。他のコントローラーのモデルを設定しようとする前に、照会された結果を取得するために考えられるすべてのことを試しました。
});
何かご意見は?さらにコードを表示する必要がある場合はお知らせください。結果を照会するためにember-modelの restful アダプターを使用しています。
結果を取得していますが、コントローラのモデルを設定しようとすると、isLoaded:false になります。
ember.js - 子ルートの属性が正しく表示されない
私は Ember 1.2、Handlebar 1.12、および EmberModel (EmberData ではありません) を使用しています。
私のアプリケーションでは、以下に示すような単純なモデルを使用して、ルート マップに共通の親子関係があります。
多くの例のように、左側に strat.id を (Handlebar #each ヘルパーを使用して) 表示し、選択した「strat」の詳細 (すなわち、strat.id、strat.stratName、strat.stratDetail) を右側。新しい「ストラト」を追加するには、以下に示すアクション関数「newStrat」に接続されたボタンを使用します。
新しい子を追加すると、すでに別の子が存在する場合、すべてが正しく表示されます (たとえば、2 番目以降の子を追加するとすべて正常に動作します)。しかし、最初の子を追加する場合、strat.Id は左側に表示されませんが、strat.id、strat.stratName、および strat.stratDetail は右側に表示されます。次に this.get('model').save() を呼び出してブラウザの更新ボタンを押すと、左側と右側の両方で期待どおりに表示されます (サーバーに送信されたデータの要求とサーバー保存されたすべてのデータを返信します)。
この動作の原因は何ですか? とにかくそれを修正することはありますか?
データがない場合、findAll() への応答として、私のサーバーは {"strats":" "} を返します。データなしのシナリオで私が返すものには、問題を起こす何かがありますか?
コントローラ
左側を表示するテンプレートのコード スニペット
ember.js - ember-modelで外部URLを使用するにはどうすればよいですか
これは簡単な質問のように思えるかもしれませんが、Ember-model で外部 URL を使用するにはどうすればよいですか? すべての例は、同じドメインを前提としています。養蜂場やファイアーベースなどを使用したいと思います。
ember.js - ルートの直接ロード時にモデル データがロードされない
すべてが期待どおりに機能するアプリケーションがありますがlink-to
、子ルートに直接移動すると、モデル データが読み込まれないようです。私の子(タイプ)ルートthis.modelFor
では、モデルフックで使用しています。これはビンですhttp://emberjs.jsbin.com/oSApiSeh/7#/types/secondaryそこを直接ナビゲートしても色は表示されませんが、セカンダリをクリックすると機能します。
そのjsbinのソースは次のとおりです。
私のテンプレート:
javascript - ember-model: レコードを強制的にサーバーから再取得する方法は?
私のバックエンドによって公開された次のクエリを使用します。
GET /api/foos
- マスターリスト内での表示に適した、すべての Foo のリストを返します
GET /api/foos/:foo_id
- 詳細ビュー内での表示に適した、より詳細な情報を含む単一の Foo を返します
私のフロント エンドでは、左側に Foos のリストが表示され、そのうちの 1 つがクリックされると、右側 (アウトレット内) のアウトレットにその詳細バージョンが表示されます。
私は自分のモデルを格納するために ember-model を使用しており、それらが呼び出されたときに上記のバックエンド API を正しくヒットするように とフックを実装しました。App.Foo.adapter
find
findAll
私のアプリが最初にGET /api/foos
(via findAll
) にヒットし、次にユーザーが Foo をクリックすると、ember-model はフックGET /api/foos/:foo_id
を呼び出さないためヒットしません。find
その特定のモデルが既にキャッシュにあることを認識するためです。 .
これは素晴らしいことです。なぜなら、既にメモリにあることがわかっているのに、もう一度フェッチする必要があるからです。
しかし、私のアプリでは、この仮定は不十分です。その Foo のフル バージョンを取得したかどうかをさらに確認する必要が!!aFoo.get('propertyOnlyInDetailedVersion')
あります。
これを行うにはどうすればよいですか - 以前にフェッチされたオブジェクトを ember-model に再フェッチさせるにはどうすればよいですか?
ember.js - ニーズの追加: ['ApplicationController'] でビューが消える
私の Ember.js アプリは、おおよそ次のように設定されています。
ルーター:
ルート:
編集:
コントローラー (コーヒーではなく JS):
ApplicationController と PagesController があります。ページにいるときに、アクションを呼び出して現在のページを削除したいと考えています。PagesController に配置すると問題なく動作しますが、ApplicationView 内のページのリストを含むナビゲーション メニューは、ページを更新するまで更新されません。だから... ApplicationControllerにアクションを配置needs: ['ApplicationController']
し、PagesControllerに追加する必要があると思います。
ただし、これを行うと、Pages テンプレートのすべてが消えてしまいます。
アプリケーション テンプレートに1{{outlet}}
つと、最終的にページ テンプレートを表示するサイト テンプレートに 1 つがあります。ええ、複雑です、私は知っています、そしておそらくそれを行うより良い方法があるので、どんな提案も大歓迎です. ああ、ところで、私は本当の Ember.js 初心者なので、例は明示的に綴る必要があります。(クレヨンできれいな色で描くのが理想です。)
助けてくれてありがとう。
ここでリフレッシュの問題です。ルート リソースsite
では、送信された URL を使用して Rails バックエンドが返す 1 つのモデルを読み込んでSite
います。最終的に、このアプリは複数のドメインで使用され、各ドメインは独自の Web サイトで提供されます (大まかに WP-マルチサイトのコンセプト)。次にルートで、属性pages
に基づいてサイトの 1 ページを読み込みます。slug
それはすべてうまくいっています。そのため、ユーザーが必要に応じてページを追加および削除できるようにしたいと考えています。
というわけで、本題はこれ。レベルでページを削除すると、ページはPagesController
問題なく削除されますが、ApplicationController には通知されません。つまり、私のナビゲーション メニュー:
はページが見つからないという通知を受け取らないため、そのページをリストから削除してナビゲーション メニューを更新しません。追加は正常に機能し、新しいページが追加されるとナビゲーションリストが更新されますが、次のApplicationController
ようなレベルでそれを行っています:
そして、これは私のdeletePage
コードですPagesController
(申し訳ありませんが、JSとCoffeeScriptが混在しています):
これを試してみると、Ember は追加する必要があることを知らせてくれますが、追加するneeds
と、Pages テンプレートが空白になります。
そうそう、アクションtarget
を呼び出すボタンに属性を設定しようとさえしました。deletePage
私がしなければならないことは、どうにかSite
して自分のモデルにアクセスすることPagesController
だと思いますが、どうすればよいでしょうか。
この投稿は壮大な割合を占めています。申し訳ありません。助けてくれてありがとう。
ember.js - Ember の深くネストされたルートは、親の動的パラメーターを保持しません
私はこの残り火アプリケーションを持っています:
このリソース マップを使用すると、次のようになります。
そして、これにより{{outlet}}
、「ディメンション」テンプレートを埋める「ディメンション」テンプレートに埋め込み{{outlet}}
、「値」テンプレートも埋める「ディメンション」テンプレートに埋め込むことができます。
「値」テンプレートのリンクへのヘルパーを除いて、すべてが非常にうまく機能します。これは、より多くのパラメーターを受け入れず、ember API ドキュメントで説明されている他のモデルも受け入れません。
深くネストされたルートで link-to を処理する最良の方法はどれですか?
私の問題を示すためにこのフィドルを持っています: http://jsfiddle.net/vsiguero/pQpE3/5/
ご協力いただきありがとうございます!