2013-09-30 2 views
0

ItemView과 함께 컬렉션을 렌더링하는 데 문제가 있습니다. Form Marionette doc (Rendering A Collection In An ItemView) 거기에 ItemView에 컬렉션을 전달할 수 있으며 내 템플릿에서는 items처럼 반복 할 수 있습니다.마리오네트에서 컬렉션을 렌더링 할 수 없습니다. ItemView

<script id="some-template" type="text/html"> 
    <ul> 
    <% _.each(items, function(item){ %> 
    <li> <%= item.someAttribute %> </li> 
    <% }); %> 
    </ul> 
</script> 

제 경우에는 작동하지 않는 것 같습니다.

이것은 내가 사용하고있는 코드입니다.

var report1 = new ReportModel({ name: "David", report:"1" }); 
var report2 = new ReportModel({ name: "Mark", report:"2" }); 
var report3 = new ReportModel({ name: "Jack", report:"3" }); 

var reportCollection = new ReportCollection([report1, report2, report3]); 

// create the view and inject somewhere, code skipped for brevity here 
new CollectView({ model: reportModel, collection: reportCollection }); 

템플릿은과 같이 핸들 바 의해 농축된다.

{{log items}} 

{{#each items}} 
<div data-role="drop-class"><span>{{this.name}}</span></div> 
{{/each}} 

내가 items를 로그인하는 경우

undefined가 표시됩니다.

보기의 모델은 다른 데이터를 표시하는 데 사용됩니다. 내 요구 사항 : ItemView이 있어야합니다. No Collection 또는 CompositeView.

어떤 조언이 필요합니까?

+0

왜 당신이 대신 CollectionView의 ItemView 필요합니까? – MarkKGreenway

답변

0

보기는 모델과 컬렉션을 알아야합니다.

보십시오 : 당신이 ItemView모두 모델과 컬렉션을 전달하면

// create the view and inject somewhere, code skipped for brevity here 
new CollectView({ collection: reportCollection }); 
관련 문제