이 오류와 관련된 게시물을 찾을 수 없습니다. Marionette ItemView에서 백본 컬렉션을 렌더링하려고합니다. 템플릿이 렌더링되지만 컬렉션과 관련된 데이터는 템플릿에 렌더링되지 않습니다. 오류 또는 기타 지표가 표시되지 않습니다. 이유를 모르겠다. setTimeout()
을 App.mainRegion.show(overView)
에 사용했다. 그러나 나는 이것이 수용 가능한 해결책이 아니라는 것을 알고있다. 누군가이 컬렉션에서 ItemView를 올바르게 렌더링하는 방법에 대한 통찰력을 줄 수 있습니까?백본 Marionette : 렌더링 컬렉션 내 ItemView
About.Collection = Backbone.Collection.extend({
url: '/api/about',
idAttribute: '_id',
});
관여보기 정의 :
About.ListView = Marionette.CollectionView.extend({
tagName: 'ul',
itemView: App.About.ListItemView,
});
About.OverView = Marionette.ItemView.extend({
tagName: 'div',
className: 'inner',
template: _.template('<h2>About Overview</h2><p><%= items %></p>'),
});
내 관련 실행 코드 : 사람들을 위해
var API = {
getAbouts: function() {
var abouts = new App.About.Collection();
abouts.fetch();
return abouts;
},
...
}
var abouts = API.getAbouts();
var aboutsListView = new App.About.ListView({collection: abouts }),
aboutsOverView = new App.About.OverView({collection: abouts});
// Correctly renders collection data
App.listRegion.show(aboutsListView);
// Does not render collection data
App.mainRegion.show(aboutsOverView);
// unless
setTimeout(function() {App.mainRegion.show(aboutsOverView)}, 50);
을 렌더링 할
내 컬렉션 : 여기 내 간단한 코드입니다 관심이 있으시면,의 집계 데이터를 표시하려는 최종 의도와 함께 ItemView를 사용하고 있습니다.. 필요한 경우 추가 정보를 제공해 드리겠습니다.