2012-01-25 17 views
1

私は...私が読んブログに基づいてBackbone.js: "モデル"とは何ですか? "render:function(model){...}"?

パラメータ モデルがrender: function(model){...}でから来

backbone.js simple inheritance...

これを聞いていますのよ?私は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 - 問題ありません –

関連する問題