問題タブ [backbone-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.

0 投票する
2 に答える
1941 参照

javascript - _idバックボーンモデル属性の設定を解除する方法は?

モデルのインスタンスから属性を取得して、modelメソッドを使用してunset()リクエスト作成したいと思います。_idPOSTsave()

しかし、私Uncaught TypeError: Object [object Object] has no method 'call' backbone-min.jsはこの行のために得ます:

私は使用してidAttribute: "_id"いるので、試しました:

_idただし、属性の設定を解除することはありません。

0 投票する
0 に答える
1066 参照

javascript - 「再帰が多すぎる」バックボーン エラー

アプリケーションに BackboneJS を使用しています。私のシナリオでは、booksCollectionすべての本のリスト ( model など) を含むコレクション ( など) がありBookます。に基づいて特定の本を取得し、idそれをビューに渡す必要があります。次のコードがあります。

を調べると、 のすべてのモデルに属性がbookあることがわかります。そのため、(いくつかの属性を設定した後に) このモデルを保存しようとすると、「再帰が多すぎます」というエラーが表示されます。collectionbooksCollection

コレクションに対してgetメソッドを呼び出して返されたモデルはオブジェクトですか?Backbonereadonly

簡単な修正として、collection属性の設定を解除してbookからモデルを保存しています

book.unset('コレクション', { サイレント: true });

これは正しいアプローチですか?

ありがとう、アンジ

0 投票する
1 に答える
1256 参照

backbone.js - backbone.js url プロパティを定義する必要があります

Backbone.localStorage をアプリのバックエンドとして使用しようとしています。

Era というモデルと、対応する EraView を作成しました。EraView で Enter キーを押すと、モデルが保存され、ここでエラーが発生します。

これがEraViewのコードです

そして、これは時代モデルのコードです:

localStorage を使用している間は URL は必要ないと思いました。

編集:この動作は Era/EraView 自体で発生しますが、Era を拡張する Name モデルでも発生することを忘れていました。Name は Names コレクションに属します。これが違いを生むかどうかはわかりませんが、追加すると思いました。

編集 2: Names コレクションは次のようになります。

編集 3:すべてのコードを jsfiddle に投稿しました: http://jsfiddle.net/herrturtur/CRv6h/

0 投票する
1 に答える
703 参照

backbone.js - ビュー自体がBackbone.Model.set()を介してモデルを更新した場合は、render()を呼び出さないでください

私のBackbone.jsプロジェクトには、1つのモデルと複数のビューがあります。すべてのビューには'change:currentTextTitle'、このモデルのコールバックが登録されています。

ここで、ユーザーが何らかのアクションを実行すると、特定のビューの「現在のテキストタイトル」フィールドが変更されます。次に、この特定のビューが呼び出され、すべてのビュー(set()が発生したビューを含む)を呼び出すイベントmyModel.set("currentTextField", newTextValue)がトリガーされます。次に、すべてのビューがコールバック関数を呼び出します。'change:currentTextTitle'render

問題はrender、set()-メソッドが最初に呼び出されたビューでもメソッドが呼び出されることです。これは、すでに最新であるため、完全に不要ですcurrentTextTitle

他のビューのコールバックに通知されるように、ビューはmyModel.set()をどのように呼び出しますが、「ソースビュー」自体をトリガー/呼び出すことはありませんか?

回避策の1つは、メソッドのoptionsパラメーターの一部としてソースビューを渡すことです(コールバックに渡され、次にコールバックに渡されます)。set()trigger()render()

次に、renderコールバックでthisViewSetAttribute != this。ただし、すべてのコールバックにチェックを実装する代わりに、必要なコールバックを呼び出し、set()メソッド呼び出しの元となったソースビューを無視することで、モデル自体でこれを処理する方が理にかなっていると思います。これは可能ですか?

0 投票する
1 に答える
1663 参照

javascript - Backbone.js-モデル内のコレクション-オブジェクト関数(​​a){return new n(a)}にはメソッドがありません'has'

私は

fetch()モデルでメソッドを呼び出すときにエラーが発生しました。コードは次のとおりです。

ワークアウトコレクションを最初に取得するときは、すべて正常に機能します。ただし、を呼び出すとgetWorkoutDetails、エラーが発生します。アラートとワークアウトモデルを挿入することconsole.logsparse()、サーバーから正しい応答が得られることがわかりましたが、何らかの理由で、このエラーが発生します。

何か案は?ありがとう。

0 投票する
4 に答える
11340 参照

javascript - Backbone model.fetch()がいつ完了するかを知る方法は?

このようにバックボーンモデルの変更イベントにバインドします。

モデルの最新バージョンを取得して、ビューを強制的にレンダリングしたい場合があります。だから私はこれをします

残念ながら、model.fetch()は、新しいデータが以前にモデルに格納されていたものと異なる場合にのみ、changeイベントを発生させます。

変更イベントをトリガーするかどうかに関係なく、フェッチが完了したときにthis.renderコールバックを常にトリガーするにはどうすればよいですか?

(事前に)あなたの助けに感謝します

0 投票する
2 に答える
539 参照

javascript - Backbonejs モデルのフェッチ関数のオーバーライド

Backbonejs を使用して、車両のヘッド ユニット用のアプリを作成しています。HTTP リクエストを使用するのではなく、フレームワークの読み取り/書き込み機能を使用して、モデルの一部を保持したいと考えています。

backbonejs.org の fetch メソッドのドキュメントを見ると、あまり説明されていません。save() メソッドと fetch() メソッドをオーバーライドするだけでよいと思います。

これは、次のように保存すると正常に機能します。

フェッチについては、これがどのように見えるべきか正確にはわかりません。私はもう試した:

誰かがこれを正しく行う方法を教えてもらえますか?

0 投票する
1 に答える
166 参照

javascript - サブモデルを含む Backbonejs でのモデル データの解析

Backbonejs を使用してダッシュボード内の車両アプリケーションを構築しています。私のモデルの中には、HTTP を使用してサーバーに保持されるものもあれば、フレームワークの読み取り/書き込み機能を介してのみアクセスできるローカル ファイル システムに保持されるものもあります。

私の質問は、おそらくどちらのシナリオにも当てはまる可能性がありますが、特に私がファイル システムに永続化しているものに関するものです。

ご想像のとおり、オーディオの再生を処理する私の Player モデルには、Playlist オブジェクトが含まれています。アプリを閉じると、現在のプレーヤーの状態をファイル システムに保存して、次に起動したときに再開できるようにします。

toJSON は、含まれているモデルに対しても自動的に toJSON を呼び出していることがわかります。その結果、保存された JSON は次のようになります。

したがって、オーバーライドされたフェッチ関数があります。

問題は、フェッチが呼び出されると、リセット イベントが発生し、プレーヤー ビューが更新されようとすることです。プレーヤー ビューは、プレーヤー モデルにプレイリスト オブジェクトが含まれていることを前提としています。技術的にはそうですが、この時点ではまだ Playlist インスタンスに解析されていないため、プレイリストは単なる JavaScript ハッシュです。

ファイルの読み取りから返されたデータに基づいて、モデル内のどこにプレイリスト インスタンスを作成するのか疑問に思っています。

免責事項:Backbonejs初心者

0 投票する
1 に答える
473 参照

backbone.js - REST API のバックボーンと複合モデル - 可能ですか?

まず、質問のタイトルが私がやろうとしていることを正確に表しているかどうかわからないので、お詫び申し上げます。私はバックボーンの REST API 構造が好き/嫌いですが、それに少し追加して、モデル間の関係の「グラフ」をサポートしようとしています。

したがって、最も単純なエンドポイントは次のようなものです。

また

しかし、さらに一歩進んで、関係の「グラフ」を表示したいと思います。

また

私はとるべき最善のアプローチを考えようとしており、この分野で共有したい経験を誰かが持っているかどうか疑問に思っています. 現状では、モデルmachinesprojects非リレーショナル エンド ポイントが機能するように定義しました。私の次のステップは、架空の複合モデルを作成することだと思いますがMachinesProjects、ID を表すさまざまな属性に応答するために、モデルの URL 連結をどのようにハックするかはわかりません。さらに、モデル タイプ間のグラフ内のすべてのアークに対してモデルを明示的に定義したくないので、もっと良いものがあることを願っています。

0 投票する
1 に答える
147 参照

backbone.js - ネストされたモデルインバックボーンはデータで満たされています

他のモデル(RuleInformationModel)という属性を持つモデル(RuleModel)を作成しました。しかし、json(SampleRule)データを渡している間、内部モデルは満たされていません。

コンソールiamを実行すると、未定義になります。そのため、サンプルjsonのデフォルト値のみを持つcosoleのRuleInformationModelをチェックインしても、この内部モデルに追加されていません。