2012-01-25 2 views
1

나는 Backbone.js : "모델"은 무엇입니까? "render : function (model) {...}"?

backbone.js simple inheritance...

는 어디 매개 변수 모델은 render: function(model){...}에서에서 온 않습니다 ... 내가 읽은 블로그에 따라이를 부탁 해요? 컬렉션 내의 모든 새 항목에 대해 this.render이 호출되지만 함수 ( 모델)는 어디에서 왔는지 알고 있습니다. 그리고 그게 어떻게 SingleAnimalView에 대한 모델로 전달 될 수 있습니다 : new SingleAnimalView({model: model})? add 이벤트가 animals 모음에서 발사 될 때, 콜백 메소드의 첫 번째 인수는 컬렉션에 추가 된 항목 될 것입니다 http://jsfiddle.net/HVK7F/

답변

1

:

var AnimalView = Backbone.View.extend({ 
    el: "#demo", 
    initialize: function(){ 
     window.animals.bind("add", this.render, this); 
    }, 
    render: function(model){ 
     var singleAnimalView = new SingleAnimalView({model: model}); 
     $(this.el).append(singleAnimalView.el); 
    } 
}); 

다음은 jsFiddle 링크입니다.

이 경우 이벤트 처리기로 render(model)이 사용되고 있으며 모델이 추가 된 항목이됩니다.

annotated sourceadd method을보고 어떻게 실행되는지보십시오.

if (!options.silent) model.trigger('add', model, this, options); 

trigger()은 첫 번째를 제외한 모든 인수를 받아 콜백에 전달 : 궁극적으로는이 라인의 결과입니다.

+0

작은 노력으로 감사합니다.) –

+0

@JanCarloViray - 문제 없음 –