다음과 같이 정의 된 표준 Backbone.js 컬렉션이 있습니다.Backbone.js : 발사하지 않는 콜렉션의 이벤트 추가
class Observation extends Backbone.Model
class Observations extends Backbone.Collection
model: Observation
다음과 같이 컬렉션의 재설정 이벤트에 대한 이벤트 처리기에서 이와 같은 추가 이벤트를 바인딩합니다.
collectionReset: (collection) =>
@collection.bind 'add', @elementAdded
문제는 이벤트가 발생하지 않습니다. 나는 중단 점을 설정하고 코드를 살펴 보았고 추가 이벤트가 발생하는 것을 멈추게하는 다음 줄 (backbone.js 0.5.3의 627 개)이있다.
_onModelEvent: function (ev, model, collection, options) {
if ((ev == 'add' || ev == 'remove') && collection != this) return;
그리고 그것은 구체적으로 다음과 같은 비교이다. :
collection != this
콜렉션 인수는 'this'참조와 다릅니다.
이전에 이런 일을 본 사람이 있습니까? 아니면 내가 잘못하고있는 사람을 지적 할 수 있습니까?
어디에서 '@collection.bind 'add', @ elementAdded'를 호출할까요? – fancy
질문을 업데이트했습니다. 보기의 초기화 프로그램과 위에서 설명한 재설정 이벤트 처리기 모두에서 바인드를 추가하려고했습니다. – dagda1
콜백에 올바른 범위를 설정 했습니까? 참조 : http://documentcloud.github.com/backbone/#FAQ-this –