2014-04-16 3 views
1

내 backbone.marionette 앱에서 'rank'모델의 속성을 루프 인덱스로 설정하려고합니다. 여기 내 컬렉션의 코드는 다음과 같습니다백본 컬렉션 - 설정 방법을 사용하여 '순위'를 설정할 수 없습니다.

AngryCats = Backbone.Collection.extend({ 
      model:AngryCat, 
      initialize: function(cats){ 
       var rank = 1; 
       _.each(cats, function(cat){ 
        cat.set('rank', rank); 
        rank++; 
       }) 
      } 
     }); 

하지만이 같은 오류가 점점 오전 :

TypeError: cat.set is not a function 
cat.set('rank', rank); 

중 하나가 여기에 무엇이 잘못되었는지 말해? 당신은 자바 스크립트 객체의 배열을 전달하는

Live Demo

답변

1

(전체 코딩을위한 바이올린 링크를 확인하십시오). 그러나 setBackbone.Model 인스턴스에서만 사용할 수 있습니다. 초기화 후에 만 ​​모든 객체가 Backbone.Model Object로 변환됩니다.

당신은

var rank = 1; 
_.each(cats, function(cat){ 
    cat.rank = rank; 
    rank++; 
    }) 
처럼해야