레이아웃을 CollectionView로 전달한 다음 내부의 영역을 조작하려고합니다.CollectionView (Marionette/Backbone)를 통해 레이아웃 전달 (및 영역 조작)
는 지금, 나는 성공적과 같이 (그것의 자신의 지역에있다)에 CollectionView으로 레이아웃을 보내고있다 : 다음 레이아웃이 렌더링지고 있음을 알 수
main_layout.main_region.show(new CollectionView({
itemView: ALayout,
collection : someCollection
}));
. 그러나 'ALayout'의 영역을 수정 (또는 터치하는 방법)을 이해할 수는 없습니다. 이것을 할 수있는 방법이 있습니까? 결국, 나는 동일한 영역을 가진 각각의 내부에 레이아웃이있는 'pane'콜렉션을 얻으 려하고, 그 영역을 어떻게 든 페인트합니다.
또한 원래 ItemView를 CollectionView로 전달했지만 영역을 해당 ItemView에 추가하는 방법을 알 수있었습니다. 가능한 경우이 파일을 전달하는 파일 (레이아웃 또는 ItemView)에서이 영역을 제어하고 싶습니다.
아무도이 경험이 있습니까?
편집 : - CollectionView의 어린이 here에 대해 이야기이 문서에서 좋아, 그래서 나는 마리오 네트와 함께 제공되는 Backbone.BabySitter을 사용하여 힌트를 발견했다. 이제 코드가 이렇게 생겼습니다.
var collectionViewToUse = new CollectionView({
itemView: ALayout,
collection : someCollection
});
main_layout.main_region.show(collectionViewToUse);
collectionViewToUse.children.each(function(view) {
console.log(view);
//This fails.
view.regionManagers.someRegion.show('HHHHHH');
//So does this, if I run it instead
view.someRegion.show('Anything');
});
백본보기 인스턴스가 기록되고 있으므로 여기에 대해 생각하고 있습니다. 아무도이 단계에서 지역을 조작하는 방법을 말해 줄래?
이 오류는 레이아웃이 아닌 ItemView를 지정해야한다는 것을 알려줍니다. – dstarh
이상한. 내 프로젝트에서 프로덕션 작업을하고 있습니다. 오류 /와 요점을 게시 할 수 있습니까? Marionette/Backbone의 어떤 버전을 사용하고 있습니까? 관심이 있다면, 코드 일부를 게시하고 그것을 광산과 비교해 보겠습니다! – streetlight
그래, 그게 내 코드 문제 였어. 나는 복합보기와 onCompositeCollectionRendered에서 이것을하고있다. 내가 chidren.each view.someRegion을 호출 할 때 정의되지 않았습니다. – dstarh