問題タブ [ember-data]
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 - ember-data isValid、isSaving、isError
私は単純な ember-data モデルを持っています:
新しいレコードが保存された場合、またはエラーが発生した場合に、確認メッセージをユーザーに表示したい。エラーは、オブジェクトが無効である可能性があり、次のようなエラー json が返されます。
各モデルには、isSaving、isValid プロパティ、および isError プロパティが付属していることがわかります。
これらのプロパティを使用して正しい通知をユーザーに表示する方法を誰か教えてもらえますか?
ember.js - IsValidおよびEmber-data
誰かがember-dataのisValidの目的を教えてもらえますか?
この例を使用して、エラーメッセージまたは成功メッセージをユーザーに表示しようとしています。
http://grosser.it/2012/05/05/save-validation-callbacks-for-ember-dataember-js/
問題は、サーバーから422を返すと、コードがオブザーバーに戻ることです。
また、isValidは常にtrueです。
何か問題が発生したときにエラー通知を受け取るのに本当に苦労しています。
didCreateまたはdidUpdateを使用できますが、それでもエラー状態に穴が残ります。
javascript - Ember.js createRecord が起動しない可能性があります
ユーザーの検索条件を localStorage に保存するアプリケーションがあります。保存された各検索は、Ember.js モデルのインスタンスとして表されます。
「保存」ボタンが押されると、コントローラーはインスタンス化されたモデルを作成し、そのレコードを作成します。
Checklist.local_store
は、私が作成したアダプターです (これはおそらく問題が始まる場所です) 、 などを localStorage で動作する一連の get/set メソッドにマップする基本的なインターフェイスを備えていcreateRecord
ますupdateRecord
(大まかにember-data の github フォークに基づいています) 。 . findAll
アダプターは、特に問題がなく、localStorage に手動で追加された値を返すため、一部の基本的なテストでは正常に動作するようです。
内の関連するメソッドは次のChecklist.local_store
とおりです。
問題はcreateRecord
、コントローラーによって呼び出されたときに、まったく何も起こらないことです。デバッガーを介して実行し、コンソールにログを記録すると、メソッドがまったく呼び出されていないことが示されているようです。これは、Ember.js がどのように機能するかについての私の誤解だと思います。なぜこれが起こっているのか、助けていただければ幸いです。
私は ruby と php のバックグラウンドを持っており、おそらくばかげて JS フレームワークに直接飛び込んでしまったので、コード スタイル、構造、および一般的なものに関するその他のコメントは大歓迎です。
ember.js - ember-dataからDS.Modelを拡張できません
これは私のモデルです
そしてFirebugは私に2つのエラーを与えます:
そしてこれはDS.Modelを拡張するためのものです
Ember.Objectの拡張は、同じモデルで正常に機能します。DSを使用できません。*
Googleはこれらのエラーメッセージに対して0件の結果を出しました
javascript - ルーターを使用すると、Ember.JSとember-dataが不可解なエラーメッセージをスローする
私はEmberアプリケーションの保存済み検索機能に取り組んでいます。一般的な考え方は、検索を実行した後、検索の短縮名を入力して保存し、localStorage
後でドロップダウンリストから取得するオプションがあるということです。現在のURLを他のユーザーと共有し、同じ検索を表示させることができます。
これは、URLの検索パラメータを処理するEmberRouter
と、ユーザーが「保存」をクリックするのを処理するビューの組み合わせによって機能します(ビューはフィドルに含まれていますが、テンプレートが含まれていないため実行できません-以下を参照してください)。
アプリケーションを実行するたびに、次のエラーが発生します。
以下にリストされているフィドルでトレースを見ることができますが、それはember-dataのコントローラーストアインジェクションに由来しているように見えます。残念ながら、Ember [-data]に関する私の知識は、これがアプリケーションの他の部分とどのように関連しているかを知るには十分ではありません。
独立して動作するはずのアプリケーションの関連部分を取得し、JSFiddleで実行しましたが、それでも同じエラーが発生します。フィドルはhttp://jsfiddle.net/fetcU/にあります。現在、ハンドルバーテンプレートなどは問題の原因ではないため、そのフィドルには何もありません。
localStorage
ルーターが導入されるまで、アダプターとその他の部分は独立して正常に機能していたため、現在実行されているコードに関連している可能性があります(Checklist.initialize()
ルーターが追加されるまでは必要ありませんでした)。
私はこれを他の同様のプロジェクトや例、特にember-dataに与えられたものと比較しましたが、ここで何が間違っているのかが完全には明らかではありません。洞察をいただければ幸いです。
ember.js - 計算されたプロパティを動的セグメントのルーティングに使用できますか?
アプリのURLで2つの計算されたプロパティを使用する必要がありますが、遷移を行うと、それらは未定義と表示されます。
これが私のコードです:
投稿をクリックすると、URLは次のようになります。/undefined/undefined/this-is-a-slug
これはできますか?そうでない場合は、他の方法で達成できますか?
ありがとう。
ember.js - ember-data:保存/保存されたフラッシュメッセージを作成する方法
アプリの上部に小さな黄色の「保存中」/「保存済み」インジケーターメッセージを表示するために、残り火データレコードが現在実行中であるかどうかを示すブールプロパティが必要です。
私はこれを試しました:
recordCache
しかし、それから私はそれが観察できないことを発見しました。
私はトランザクションを使用せず、のみApp.store.commit()
を使用するので、を調べましたApp.store.get('defaultTransaction')
が、有用なものは何も得られませんでした。
私はRESTAdapterを使用しているので、この情報を提供するように拡張できれば、それも機能します。
mongodb - emberdata および mongodb 埋め込みオブジェクト ID が未定義
Ember データと Mongodb 埋め込みオブジェクトに関して問題があります。ここに私のモデルがあります:
今、私はAPIを介して連絡先を取得しています: (GET /app/api/v1/contact/4f86c4774ab63c2417000001/) ここに私が得るものがあります:
「ルート」オブジェクトには ID がありますが、埋め込みオブジェクト「メール」にはありません。mongodb では、id はサブドキュメントには設定されず、ルート ドキュメントにのみ設定されるためです。
このようにして、ember-data は「email」オブジェクトに ID がないことを確認し、API を介して完全なオブジェクトを取得しようとします。例: GET /app/api/v1/email/set// 404 (見つかりません)
それがライトの問題であることを確認するために、偽の ID フィールドを持つ Mongodb サブドキュメントを返そうとしました。Like : (email オブジェクトの違いを参照)
その後、問題はありません。すべて問題ありません。だから私の質問は:それを修正する方法はありますか?
ember.js - ember-dataで親ルートパラメータを使用する適切な方法は?
私のアプリでは、ルーティング構造をAPI構造にできるだけ近づけようとしています。これは、基本的なケースでは残り火が容易になりますが、次のケースについてはまだ混乱しています。
(http://emberjs.com/guides/outlets/#toc_nestingの例を参照して)
データを取得するための最良の方法は何ですか/posts/:post_id/comments
(データがによって私に与えられていないと仮定します/posts/:post_id
)?
App.Comment.find(...)
メソッドで、なんらかの方法で投稿IDを渡す必要がありcomments.deserialize(...)
ますか?投稿IDを取得するより良い方法はありrouter.getPath('postController.content._id')
ますか?変更したDS.RESTAdapterを使用しています。
javascript - Ember.js オーダーには多くの子が含まれています
アイテムモデルがあり、各アイテムには多くのアイテムを含めることができます。これは、多くのレベルの深さになる可能性があります。
私はこのjsfiddle http://jsfiddle.net/rmossuk/xmcBf/3/を持っています
複数のレベルのアイテムを持つことができるようにこれを変更するにはどうすればよいですか?また、各レベルをループダウンして表示するにはどうすればよいですか?
また、各アイテムの子を注文し、その注文をサーバーに保持できるようにする必要があります。
これを行う方法を教えてください。
アップデート:
私は今、アイテムを実装することができました。この問題の多くのレベルの深いビットを実装することができます。
しかし、各アイテムの子の順序を示し、その順序で表示する方法が必要です。現時点では、itemIds 配列から子アイテムを表示するだけですが、これは関連付けの目的でのみ使用され、これを変更して並べ替えることはできませんか??
誰でもこれを行う方法を知っていますか?
どうもありがとうリック