두 가지 방법으로이 작업을 수행 할 수 있다고 생각합니다. 먼저 부모를 자식보기로 전달합니다. 둘째, 이벤트 발생을 처리하는 eventAggregator를 만듭니다. FIRST
:
당신은 옵션으로 previewDataView에 앱 조회를 통과 할 수있다. 당신의 previewDataView에서
preview = new previewDataView({ // your options, 'parent':this });
당신과 같이 부모 사용자 정의 이벤트에 바인딩 할 것 :
this.parent = this.options.parent;
this.parent.bind('eventName', this.onEvent, this);
SECOND을 :
당신은 당신의 전망을 구독하는 데 도움이 eventAggregator를 만들 수 있습니다 (다만이 기술을 배웠) 서로에게 의미있는 이벤트에 대한 가입을 취소 할 수 있습니다. 다음은 스택에 자세하게 설명 좋은 답변입니다 :
Backbone.View.prototype.eventAggregator = _.extend({}, Backbone.Events);
가 시작이 실행 유무 : 코멘트에
fire an event from one view to another in backbone
는, @ 브라이언 Genisio는 자신의 코드에서이 문제를 포함 한 단계 더 걸립니다 귀하의 코드 중 하나이며 모든보기는 eventAggregator에 액세스 할 수 있습니다. eventAggregator는보기를 통해 트리거되고 수신되어야하는 이벤트의 중심 허브가 될 것입니다. 이처럼 사용하십시오 :
이와
// Parent View
this.eventAggregator.trigger('someEvent');
// Child View
this.eventAggregator.bind('someEvent', this.function, this);
명시 적 이벤트가 트리거링 및 청취 서로에 액세스 할 필요가보기간에 참조를 전달 할 필요가 없습니다. 이 방법은 나에게 도움이되었다. :-)
너무 좋은 하하, 멋진 설명 btw .. backbone.js 프로젝트가보기와 전환과 더 복잡 해지면 이러한 것들이 실제로 그러한 이벤트를 처리하는 패턴 방법을 찾는 데 도움이됩니다. – mateusmaso