2013-08-08 3 views
0

내 앱에는 두 개의 패널이있는 대시 보드가 있습니다. 각 패널은 각각의 패널 내에서 템플릿을 렌더링하는 다른 백본보기입니다. 뷰는 백본 라우터에 의해 인스턴스화됩니다. 하나의 뷰에서 <li> 요소가 두 번째 뷰로 떨어졌을 때 탐지하기 위해 드롭 이벤트 리스너를 어딘가에 배치해야합니다. 그러나, 나는 ... 곳이 청취자를 넣어하는 방법 모르는백본 드롭 이벤트 리스너 두 가지보기

나는 이벤트 리스너를 두는 • "drop #drop-zone": "handleDrop"

같은 견해 중 하나에 이벤트를 넣을 때 발생하는 이벤트를 얻을 수 없다 • 뷰가 인스턴스화 된 후에 라우터에서 작동하지 않습니다.

• 내 생각으로는 Drop Event Listener를 dragStart의 Listener에 배치하는 것이 좋겠지 만 이것이 가장 좋은 경로인지 확실하지 않습니다.

해당 놓기 이벤트를 수신 할 적절한 위치는 어디입니까?

답변

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') } 
+0

내 백본 응용 프로그램에이 정보를 추가 할 장소에 대한 추가 정보를 제공해 주실 수 있습니까? 내가 뷰와 라우터 사이에서 이것을 나눠 봤어? – ac360

+0

당신이 가지고 있습니다. 내 대답을 좀 더 구체적으로 업데이트했습니다. – pdoherty926