2012-06-08 3 views
0

사용자 친구 목록을 컬렉션으로 가져와 해당 친구를 반복하여 사용자가 친구를 선택할 수 있도록하고 나중에 물건 한 뭉치 마. 내 initalize에서은 백본 컬렉션을 반복 할 수 없으며 가져 오기/바인드 문제 일 수 있습니다.

내 내가

 
console.log(friends); 
    console.log(HandlebarsTemplates['friends/friendsResults'](friends); 
    $(this.el).html(HandlebarsTemplates['friends/friendsResults'](friends); 

내 핸들이 렌더링에 그런

 
friends = new MyApp.Collections.UserFriends(); 
friends.fetch({ data: $.param({ search: this.model.attributes.user_id}), 
      success: function(){ 

      }, 
      error: function(){ 
       alert('error getting friends'); 
      } 
     }); 


     friends.bind('fetched', this.render(),this); 

을 가지고 있으므로,

 
ok, I have the right handlebar template 
{{#each models}} 
<li> {{attributes.username}}</li> 
{{/each}} 

콘솔에있는 친구의 컬렉션입니다 모델이 있다는 것을 알 수 있습니다.

 
byCid: Object 
_byId: Object 
_callbacks: Object 
length: 39 
models: Array[39] 
__proto__: q 

내 관심사는 문제가 수집되었다 전에 트리거되고 있었다 렌더링이었다이었다,하지만 내가 friends.bind('fetched',this.render(), this)가 해결 줄 알았는데 것입니다.

답변

2

백본에 '가져온'이벤트가 없으므로 '재설정', http://backbonejs.org/#FAQ-events을 사용해보십시오.

+0

감사합니다. Yaroslav, 나는'reset'을 시도했지만 여전히 핸들 바 템플릿에 아무것도 나타나지 않았습니다. 나는 전에 '가져온'것을 사용하라는 말을 들었다고 확신했다. – pedalpete

+1

그리고 괄호'friends.bind ('fetched', this.render/*() * /, this)'(this javascript ...) – Yaroslav