問題タブ [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.
backbone.js - バックボーンでのjson解析
私は常に次を返す成功コールバック関数を持っています:
しかし、これは常に未定義になります..結果を出力すると、上記の配列が得られます。result.ss または result.me を返すと、未定義になります。
これが起こっている理由には非常にばかげた理由があると思いますが、頭がわかりません。
バックボーン ビュー (他のコードを削除) :
rest - ビュー/ルーティングなしで backbone.js モデルの概念を使用する
既存の「サーバー側でレンダリングされた」Web アプリケーションを、より「科学的にレンダリングされた」アプローチに段階的に移行したいと考えています。
私の好ましい出発点は、残りのhttp-apiを使用してput/post/get/deleteリクエストを処理する、既存のデータ処理レイヤーをajaxスタイルのアプローチに変更することです。
だから私の質問は...ルーティング/コントローラー/ビュー/テンプレートを使用せずに、backbone.jsのコレクション/モデルの概念を既存のWebアプリケーションに使用する適切な方法はありますか?
ここで、slimframework を使用して作業中の rest-httpapi を既に持っていることを追加できます。そして、backbone.js モデル/コレクションを使用してデータをフェッチ/保存したいと考えています。しかし、html-rendering と event-binding は今のところ backbone.js の責任から外れているはずです。
ありがとう
backbone.js - Backbonejs collection.fetch() はデフォルトのモデル パラメータを強制します
Backbonejs を 1.0 にアップグレードした後、サーバーからコレクションをフェッチすると、応答しないデフォルト プロパティが強制されます。
より具体的には、 jsfiddleで検証できるこのテストを作成しました。
デフォルトのプロパティを持つバックボーン モデル定義があるとします。プロパティtext
は JSON でサーバーから受け取ることができ[{ "text": "updated", "id" : 1}]
、プロパティselected
はクライアント側で保持されます。
この設定を使用してサーバーからデータをフェッチすると、正しく機能します。このモデルを次のようにバックボーン コレクションに追加するとします。
新しいコレクション インスタンスを作成し、以下を設定しますfetch
。
その後、コレクション内の 1 つのモデルを取得し、selected
プロパティを trueに変更します。
コレクションを 2 回目に呼び出すと、応答にそのような値がなかったとしてもfetch
、バックボーンは以前に変更されたプロパティをデフォルト値にクリアします。false
値を取得すると、以前の set の代わりにselected
返されます。false
true
回避策:サーバーから受信しないプロパティをコメントアウトします。
しかし、その場合、バックボーンから多くの便利な機能が失われます。これは Backbonejs 1.0 の回帰ですか、それともこのモデルを間違った方法で使用していますか?
javascript - model.save - サーバーに一度だけ保存します
サーバーにデータを保存するバックボーンでこのコードを実行しています。
これは初めて実行したときは問題なく動作しますが、最初のデータを保存した直後にもう一度実行すると、新しいデータは保存されず、最後に保存されたデータが更新されるだけです。最初に保存すると POST リクエストが実行され、次に PUT リクエストが実行されるのはなぜでしょうか?
これが必要かどうかはわかりませんが、ここに私の初期化関数があります-
javascript - モデルは編集される代わりに新しい行を作成します
私は現在アプリに取り組んでいます。グループを作成すると、保存機能がうまく機能し、モデルがコレクションに追加され、データベースに保存されますが、作成したばかりのグループを編集したい場合は、保存を押すとデータが編集されて PUT リクエストが起動される代わりに、新しいモデルが作成されます (および POST リクエスト)。これが私の保存機能です。既存のモデルを編集するときに PUT リクエストを発行しない理由はありますか?
これは私のモデルのデフォルトです。
this.model
保存前のconsole.logはこちら、
javascript - BackboneJS で、モデルの属性の設定に関する明確化
バックボーン バックボーンを使用している場合の 2 つの一般的なシナリオ:
属性はデフォルト値としてリストされ、設定されます
属性がデフォルト値としてリストされていないため、設定します
属性はデフォルト値として表示されず、作成時に設定されます
しかし、モデルのプロパティを設定したい状況はどうでしょうか? これは一般的に推奨されていませんが、私のコードでは、どのモデルが現在のモデルの親であるかを not にしたい場合があります。これはほぼ確実に変更されることはないため、イベントのリッスン/onChange の目的で属性を配置する理由はありません。また、これはデフォルト値のないもの(コンテキストでしか値を取得できない)なので、モデルのプロパティとして設定するだけでいいですか?それとも、これは後で問題を引き起こすのでしょうか?
属性の代わりにプロパティを設定する
backbone.js - モデルがコレクションに追加されたときのバックボーンのフェッチとモデルのリセット
ここにフィドルがあります
モデルを含む
そしてコレクション
コレクションにApvdtlモデルを入力します。
このビューを生成しました
しかし、私がやろうとしているのは、このようなビューを作成することです
このJSON ファイルの ID を持つアイテムをフェッチすることによって
backbone.js - save() メソッドの後に ID がバックボーン モデルに割り当てられた後にのみイベントをトリガーする方法
アプリケーションでバックボーン モデルを使用していますが、新しく作成されたモデルに ID が割り当てられた後に何らかの機能を実行したいという問題があります。私はこれを使用しています
ただし、id がモデルに割り当てられる前に、this.addToCollectionWidget メソッドが呼び出されます。助けてください。
ajax - Backbone.js モデルを使用してサーバーにクエリを実行できますか?
私のモデルは次のようになります。
データベースから特定のアイテムを取得したい場合は、次のようにできます。item = new Item({id: 11});
id
しかし、取得したいアイテムの がわからない場合はどうすればよいでしょうか? 代わりに、(AJAX 経由で) データベースにクエリを実行して、最新のitem
ものをtimestamp
. これは Backbone.js で可能ですか?
backbone.js - backbone.js レベル 2 チャレンジ 5 コードスクールの回答
codeschool の backbone.js チュートリアルの 1 つの例には、次のソリューションがあります。
アプリケーション.js
これはおそらく単純化された例だと思いますが、ほとんどの場合、モデル定義でこれを定義したくないので、すべてのモデル インスタンスに適用されますか?
私のインスタンスが変更されるたびにビューでこのメソッドを起動するモデル定義の何か?そのビュー メソッドはアラートを発生させる可能性があります。
私は明らかに学んでいるので、どんな助けも大歓迎です!