問題タブ [backbone-events]
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 - Backbone.js では、サイレント変更が最終的に変更イベントをトリガーするのはなぜですか?
バックボーン モデルで属性を設定しているときに渡すと、イベント{"silent":true}
が抑制されないのはなぜですか? change:attribute
次に属性が変更されたときにそのイベントを発生させる利点は何ですか?
アップデート
Backbone 0.9.10 では、 pass の動作が変更されました{ "silent": true }
。変更ログから:
変更を渡す
{silent:true}
ことで個々の「change:attr」イベントが遅延することはなくなり、代わりに完全に沈黙します。
ここで変更ログを閲覧
backbone.js - バックボーン.jsfetch()で受信したデータ型を定義するにはどうすればよいですか?
サーバーからデータをフェッチすると、jsonデータがapplication / jsonデータ型ではなく文字列データ型として返されます。その結果、コレクションは更新されません。
jquery.ajaxオプションcontentType: "application / json"をフェッチオプションに指定しようとしましたが、それでも機能しません。
どうすればそれを機能させることができますか?サーバーからmimetypeを送信しますか?もしそうなら、どのように?
送信されたデータにjson_encodeを使用しています。
プリローダーは私のコレクションのインスタンスです。
編集: サブビューのテンプレートは、マスタービューの$ el要素から除外して修正したため、検出されませんでした。現在、underscore.jsエラーが発生しています。
strはnullです
これは、バックボーンアプリがjsonオブジェクトとして取得していないためですか?
リクエストヘッダー
応答ヘッダー には次の行があります
それがjsonであることを意味します、それでは問題は何ですか?
backbone.js - div でスクロール イベントをキャプチャする
Backbone.Marionette.CompositeView 内でスクロール イベントをキャプチャしようとしていますが、成功しません。
演習として、Backbone.Marionette を使用してhttp://www.atinux.fr/backbone-books/を書き直しています。ご覧のとおり、下にスクロールすると、より多くの本が取得されて表示されます (つまり、無限スクロール)。ただし、ビューでスクロール イベントをキャプチャできません。
これが私の(簡略化された)コードです:
完全なソース コードは、 https ://github.com/davidsulc/backbone.marionette-atinux-books/blob/scroll/assets/javascript/app.js#L86-89 で確認できます。
私が理解していないのは、「クリック」イベントが適切にトリガーされていることですが、「スクロール」イベントはそうではありません。私は何を間違っていますか?
編集:エラーは最終的には非常に単純でした...ビューのコンストラクターに「el: #content」を渡していましたが、スクロールは「.library」の CSS で定義されていました。したがって、DOMを次のように変更したら
に
すべてが正常に機能しました...
javascript - backbonejsのカスタムマウスイベント
カスタムマウスイベントをサポートする良い方法は何でしょうか?たとえば、私は現在次のようにしています。
ただし、の代わりに、との組み合わせであるmousedown
というカスタムイベントを作成したいと思います。そのようなカスタムイベントを追加するための推奨される方法はありますか?mousedrag
mousedown
mousemove
jquery - jQueryを使用したBackbone.jsが期待どおりにDOMを変更しない
store-models.jsモデル
HTML
問題は、backbone.jsコードの前ではあるべきように見えても、コードがli要素をcategories-listに追加していないことです。
ここに何か提案はありますか?
backbone.js - バックボーン モデルのイベント/トリガーが起動しない
いくつかのチュートリアルで見たので、ビューで次のコード行を実行しようとしています
残念ながら、変更イベントが発生していないため、ビューが再レンダリングされません。
さまざまなイベントにバインドし、トリガー関数を使用していくつかのカスタム イベントを作成しようとしましたが、モデルで何も起動していないようです。さらに、コンソールからのエラーはありません。変更イベントは、別のコレクションで正常に機能しています。Zepto 1.0、Backbone.js 0.9.2、および Underscore.js 1.3.1 を使用しています。
編集:ルーターから次を実行しようとしています
そして、私のモデルは次のように設定されています:
誰かが以前に同様の問題を経験していて、簡単に修正できるかどうか疑問に思っています。そうでない場合は、説明を見つけるためにさらにコードが必要な場合はお知らせください...
backbone.js - バックボーン クリック イベントが発生しない
したがって、className であると宣言する Backbone ビューがあります。クリック イベントをそのクラスにバインドしようとしています。だから、このようなもの:
これはうまくいかないようです。要素がビュー自体の中にないためと思われます。したがって、テンプレート内に要素を作成すると、それにバインドできます。ビュー自体にバインドできるはずですか?どんな助けでも大歓迎です。ありがとう!
javascript - 別のjs関数からバックボーンイベントをトリガーする
SOを見回しましたが、役に立つものが見つかりませんでした。
連絡先カードビューのBackbone.js連絡先モデルがあります。このビューには、連絡先情報を編集できる多くの入力があります。
ページにはバックボーンモデルではない他の多くのフォームがあるので、それらは「保存ボタン」を使用して保存します。私は基本的にこの保存ボタンもトリガーしたいですContacts.CardView.saveCard();
(おそらくそうかもしれませんFileApp.cardView.saveCard as well?
-私のコードのいくつかは以下にあります。
これを行う方法はありますか?私は次のものを使用できると思っていましたが、ビューの外にあるものにイベントをバインドしないようです?:
CardView
ルーター:
javascript - 引数が定義されている場合、バックボーン ビュー イベントが関数を実行していないように見える
バックボーン ビューの 1 つに次のコードがあります。
そして、コンソールに次のエラーが表示されます。
これが showDetail メソッドではなく AddFavourite メソッドで発生する理由がよくわかりません。定義済みの引数を必要とするメソッドをイベントに渡すことは許可されていませんか?
助けてくれてありがとう(!)