이 코드에는 많은 컨텍스트가 없지만 내 질문을 설명 할 것입니다. 그것은 require.js를 통해로드하는 데 사용하는 AMD 모듈에 정의 된 백본보기입니다.초기화 후 backbone.js 이벤트 추가
기본적으로 초기화가 실행 된 후에 백본보기에 이벤트를 추가 할 수 있기를 원합니다. 현재 빈 이벤트 객체를 만들고있는 중이며 addView라는 메서드에서 함수가 호출 될 때마다 이벤트를 추가합니다. 현재 작동하지 않습니다.
이벤트가 등록 된 지점이 확실하지 않지만 events
개체가 변경되면 어떻게 든 청취자를 업데이트하기 위해보기를 가져야한다고 의심됩니다.
아무도 초기화 후 Backbone.js에 이벤트를 추가하는 방법을 알 수 있습니까? 내가 제대로 질문을 이해 해요 경우 이벤트 해시에 추가 이벤트를 추가 한 후
define([
'jQuery',
'Backbone'],
function ($, Backbone) {
var contentViews = new Array();
var SlidePanelView = Backbone.View.extend({
events: {},
/// <param name="targetDataAtt">The unique value inside the target's Data-Slide-Panel-Id attribute</param>
/// <param name="event">Backbone event to trigger view</param>
/// <param name="destroyOnRemove">True to destroy view when removed, False otherwise (Default true)</param>
addView: function (targetDataAtt, event, view, destroyOnRemove) {
destroyOnRemove = typeof destroyOnRemove !== 'undefined' ? destroyOnRemove : true;
this.events[event] = "viewEventFired";
contentViews[targetDataAtt] = { View: view, DestroyOnRemove: destroyOnRemove };
},
viewEventFired: function (e) {
var target = $(e.target);
var id = target.attr('data-slide-panel-id');
console.log(id);
}
});
// Return a singleton??
return new SlidePanelView;
});