0

私のアプリには、2 つのパネルを持つダッシュボードがあります。各パネルは、それぞれのパネル内のテンプレートをレンダリングする異なるバックボーン ビューです。ビューは、バックボーン ルーターによってインスタンス化されます。<li>1 つのビューの要素が 2 番目のビューにドロップされたことを検出するために、どこかにドロップ イベント リスナーを配置する必要があります。しかし、このリスナーをどこに置くべきかわかりません...

• 次のいずれかのビューにイベントを配置すると、イベントを発生させることができません。"drop #drop-zone": "handleDrop"

• ビューがインスタンス化された後に Event Listener を Router に配置しても機能しません。

• 次に考えられるのは、ドロップ イベント リスナーをドラッグ開始のリスナー内に配置することですが、これが最善の方法かどうかはわかりません。

そのドロップ イベントをリッスンする適切な場所はどこですか?

4

1 に答える 1

0
// app.js, main.js, router.js, etc.
window.event_bus = {};

_.extend(object, Backbone.Events);

event_bus.on("drop", function(target) {
    // do something with target
});

// drop-zone-one-view.js
"drop #drop-zone-one": function () { event_bus.trigger('drop', 'drop-zone-one') }

// drop-zone-two-view.js
"drop #drop-zone-two": function () { event_bus.trigger('drop', 'drop-zone-two') }
于 2013-08-08T03:52:23.863 に答える