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

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

backbone.js - Backbone.js: ビュー全体でイベントをバインド/バインド解除する

ここでは、オブジェクトがイベントの発生とそれらのイベントのサブスクライバーを管理するパターンを示したDerick Bailey によるイベント アグリゲーター パターンを使用しています。

あるビューでイベントをトリガーし、別のビューでそれらをサブスクライブしていたところ、すべて正常に機能していました。この問題は、2 つ以上のビューがイベントにサブスクライブし、ビューを破棄するときに、ビューの 1 つがイベントのサブスクライブを解除したときに発生しました。これにより、他のすべてのビューもイベントからサブスクライブ解除されます。

これに対する回避策はありますか?

アップデート

これが私のビューで使用しているコードの一部です。

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

backbone.js - Backbone.js - 新しい投稿を作成するコードはどこに行くのですか?

Post モデル、PostList コレクション、および PostView + PostListView を持つ簡単なサンプル Backbone.js アプリを作成しようとしています。フォームに投稿できるシンプルなもので、投稿が投稿のリストに追加されます。

誰かが投稿フォームで送信をクリックすると、PostList コレクションのビューである「PostListView」でイベントがトリガーされます。新しい投稿モデルをどこで作成してコレクションに追加しますか? ビュー自体にこのコードを記述しますか? それとも、ビューはこれを行うコレクション メソッドを呼び出しますか? カスタム コレクション メソッドを作成することもできますか? もしそうなら、どうすればそれらをビューから呼び出すことができますか?

Rails のバックグラウンドを持っているので、ビュー (Rails コントローラー) ではなくコレクション/モデルにコードを配置する傾向がありますが、ビューからカスタム コレクション イベントを呼び出す方法がわかりません。

コードは以下の通りです。助けてくれてありがとう!

PostListView.coffee:

PostList.coffee:

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

javascript - 複数の属性の変更をBackbone.jsモデルにバインドする正しい方法

次のコードがあり、変更を単一の属性「attribute_1」にバインドします。

2つの属性をバインドするにはどうすればよいですか?これは機能しません:

これもしません:

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

javascript - バックボーン モデルは変更されません

私のアプリはバックボーンを使用しています。ユーザーが変更できるモデルがあります。このモデルは、変更する前に検証する必要があります。変更されている場合は、関数が呼び出されます。ユーザーが保存をクリックすると、モデルが変更された場合にのみモデルが保存されます。

私の問題は、変更イベントが発生したときにモデルが変更されていないため、保存されないことです。

コードは次のとおりです。http://jsfiddle.net/keepyourweb/jQL8V/

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

javascript - ハッシュなしでバックボーンルートを取得することはできませんか?

ブラウザがキャプチャして処理できるブックマーク可能なURLが必要です。Backbone.history.start()を使用するだけの場合は、 /#accountsなどのハッシュURLを使用できます。

しかし、ハッシュのないURL、la /accountsが必要です。しかし、Backbone.history.start({pushState:true})を使用してこれを機能させることはできません(他の人が説明しているように)。私のルートは単純で、ドキュメントから直接取得されます。

Chromeを使用しています(FFでも試してみました)。動作は、/accountsリクエストがサーバーに直接送信されることです。最初にバックボーンによって傍受されない。誰かがこれに遭遇しましたか?BackboneでハッシュレスURL処理を取得するにはどうすればよいですか?

前もって感謝します

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

javascript - BackboneJSイベントコレクションの構築中にエラーが発生しました-newEvent()がエラーをスローします

これは、コレクションの標準的な使用法とほとんど同じように見えますが、機能しません。ドキュメントレディ関数内に次のコードがあります。

ChromiumとFirefoxでテストしましたが、FFはより冗長です。

私は何が欠けていますか?

補足として、もう少しコンテキストが必要な場合は、ChrisStormのチュートリアル/チェーンに従おうとしています。

関連するソフトウェアバージョン:

  • jQueryJavaScriptライブラリv1.7.1
  • Backbone.js 0.5.3
  • Underscore.js 1.2.2
  • Chromium 14.0.835.202(開発者ビルド103287 Linux)Ubuntu 11.10
  • Firefoxは8.0、Ubuntu 11.10、64ビットです

更新:もう少しデバッグすると、エラーがスローされた時点で、this.modelに値がfunction Event() { [native code] }あり、呼び出しによってnew Event()さらにエラーがスローされることがわかりました- TypeError。では、イベントの作成の何が問題になっていますか?

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

jquery - Backbone.js ビューを使用してどのようにイベントにバインドしますか?

私は backbone.js が初めてで、KnockoutJS から離れています。イベントバインディングが機能しません。

HTML が次のように与えられた場合:

上記の何らかの理由で、スパンをクリックすると、イベントが発生しません。アイデア?

ありがとう

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

javascript - このテストを実行すると、なぜこのシノンスパイが呼び出されないのですか?

私はバックボーンモデルを持っています:

そして、 jasminsinon.jsを使用してそのコードのテストをいくつか行っています

ブラウザで使用すると動作するようですが、テストに合格できないようです。誰かが私を啓発できますか?

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

javascript - バックボーン動的に作成された「el」イベントをバインドしない

ここにいる他の多くのユーザーと同じように、私はelイベントに問題があります。私の状況では、デフォルトのel(ちょうど<div></div>)設定を使用する、jQueryセレクターを使用してセレクターtagNameに設定elする、DOMの準備が整うのを待つなど、複数のソリューションをテストしました。これらの各ソリューションは、イベントとデフォルト以外のすべてのバインドに失敗しeltagNamehtmlの生成に失敗しました。関連コード:

意見

ビューを呼び出す関数(別のビューから抽出)

少し混乱しています。設定elしましたが、イベントが作成されないか、バインドされません。DOMがロードされてコンストラクターに渡されるのを待ってみましたelが、成功しませんでした。私の最もありそうな明らかな間違いについての助けをいただければ幸いです。

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

svg - SVG 要素である el に適用されるバックボーン イベント

クリックに応答したいテキストを含む SVG キャンバスがあります。以下のコードは仕事を成し遂げていません:

これは、別のビューの render 関数で呼び出されています。

それは問題なく表示され、これを for ループの最後に投げると:

その後、クリックは機能しますが、ビューに関連付けられたバックボーン モデルにアクセスする必要があるため、直接の JQuery イベントよりもバックボーン イベントを優先します。