問題タブ [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 - オブジェクトの更新に合わせて Emberjs ビューを更新する
私はこの素敵な Ember.js ミックスインを使用しています: https://github.com/Wildhoney/EmberDropletを使用して、ドラッグ アンド ドロップを使用して画像をアップロードしましたが、見事に機能しています。
唯一の問題は、アップロードされた画像をビューに追加する方法がわからないことです。モデルは Rails API で適切に更新されていますが、実際にページ全体を更新するまでは、Ember でモデルを更新する方法がわかりません。
ここに私のコードのいくつかのスニペットがあります:
router.js.coffee
routes.js.coffee
media.handlebars
media.js
そうそう、それが役立つ場合はモデル (私は ember-model を使用しています):
jQuery だけを使用すると、新しい画像をページに追加するのは非常に簡単ですが、何らかの理由で Ember を使用すると非常に複雑になります。(わかりました、公平を期すために、他のことは Ember を使用するとはるかに簡単になります。)
アップデート:
あなたはそれを知らないでしょうか、私は何日も(はい、何日も)問題に苦労し、それをstackoverflowに投稿してから数時間、答えに少し近づきました。
emberdroplet は標準の XMLHttpRequest を使用しているため、request.onload を使用して、Rails API から返された request.responseText にアクセスできることがわかりました。
わかりましたので、ここに私のコードがあります:
しかし、私はエラーを返しています:
この JSON が返されます。
これがビューに追加されます:
つまり、Ember-model は未加工の JSON をどう処理すればよいかわからないので、最初に何かを行う必要があります。
何か案は?
javascript - ルート間を移動すると、サイドロードされたレコードが消える
だから私はこのhttp://emberjs.jsbin.com/conum/3/editによく似たトライアルブログアプリを持っています。私のアプリでは、フィクスチャの代わりに RESTAdapter を使用していますが、jsbin で REST 動作を行う方法がわかりません。RESTAdapter を使用している場合にのみ問題が発生するように見えるため、これは重要です。だからここに問題があります:
投稿ルートなどのリソースに入ると、投稿を読み込み、各投稿のユーザーを表示します。ユーザーの詳細に移動して、投稿リストに戻ることができます。posts.create リソースに入ると、すべてのユーザーを読み込み、選択ドロップダウンに表示します。投稿リストに戻ると問題が発生します。投稿に関連付けられたユーザーはなくなりました。繰り返しますが、これは RESTAdapter を使用している場合にのみ発生するため、 jsbin で問題が発生することはありません。
私はこれに 2 日間対処してきましたが、これは ember のバグですか? 私もember-dataの代わりにember-modelを使用しようとしたため、同様のことが起こりました..または私は間違ったことをしていますか? どんな助けでも大歓迎です..ありがとう!
javascript - EmberJs:begsTo属性が汚れているときにモデルを保存する方法は?
2 つのモデルが与えられた場合、「子」オブジェクトへの更新によって「親」オブジェクトが「ダーティ」としてマークsave
され、親オブジェクトの呼び出しがスキップされないようにするにはどうすればよいでしょうか?
詳細
ember-model を使用して、次の ようなモデルを定義Person
し ました。Address
これをフォームにレンダリングし、これらの属性を編集可能にしました。
ここまでは順調ですね。パズルの最後のピースは、モデルをサーバーに永続化することです
ここで、ユーザーがアドレス ( または のいずれline1
かline2
) を編集すると、model
は「ダーティ」とは見なされないember-model
ため、アダプタは を呼び出さないことがわかりますsave()
。
これは、がダーティであると見なされ、 で定義された関係を持っているaddress
場合model
でも発生します。
これは、2 つのオブジェクトで個別にsave
(または) を呼び出す必要があることを意味します。revert
したがって、操作の原子性が失われ、address
オブジェクトの新しいエンドポイントも定義する必要があります。どちらもやりたくない。
address
更新するとダーティmodel
になることを確認するにはどうすればよいですか?
アップデート:
save
「子」オブジェクトと「親」オブジェクトの両方を呼び出す代わりに、ember-model のソースを調べて、より良い方法を見つけました。
これにより原子性が保持されますが、このようにプライベート メソッドを直接呼び出すのは正しくないようです。より良い方法はありますか?
現在、このメソッドの唯一の使用法_relationshipBecameDirty
はhas_many_array.js
ember-model であり、. でインスタンスを見つけることができませんでしたbelongs_to.js
。これがメンバーモデルの設計による意図的なものである場合、これを達成する適切な方法は何ですか?
javascript - Ember: ember-model は .properties(...) を使用して計算値をバインドできますか?
.property('key') 構文を使用して、モデルで計算された値を更新しようとしています。私のモデルは次のようなものです:
私のカメラ ルートでは、間隔を置いて更新変数を変更していますが、thumbnailUrl が更新されることはありません。私は何か間違ったことをしていますか、それともember-modelは .property() 機能をサポートしていませんか?
テンプレートで refresh 属性を使用でき、更新されていることがわかります。何か案は?
javascript - hasMany 関係を介した ember-model オブジェクトの関連コレクションへのアクセス
Ember/ember-model で hasMany 関係を使用する方法を根本的に誤解している可能性があります。
ember-model readme には次の例があります
おそらく、次のことを行うでしょう
上記のように、post
get (つまり ) を介してさまざまな小道具post.get('title')
にアクセスできるようになりましたが、コメントにアクセスするにはどうすればよいですか?
post.get('comments')
オブジェクトを返しますが、それは私が期待する App.Comment オブジェクトのコレクションではありません。
あらゆる助けを前もって感謝します。