2012-12-20 4 views
4

현재 라우터 및 ConnectOutlets에서 CollectionView를 사용하려고합니다. 콜렉션 뷰 도우미를 사용하고 있다면 괜찮습니다.하지만 이것은 다른 구현체와는 대조적으로 항상 connectOutlets를 활용하고 있습니다.connectOutlets와 함께 사용할 때 CollectionView를 사용하는 방법?

은 무엇 내가 기본적으로 시도하고있다 :

connectOutlets : function(router){ 
    console.log("calling connectOutlets"); 
    router.get("applicationController").connectOutlet({ 
    viewClass : App.ItemsView, 
    controller : App.itemController, 
    context : content 
    }) 
} 

App.ItemsView = Ember.CollectionView.extend({ 
    itemViewClass : App.ItemView, 
}); 

App.ItemsView이 CollectionView의 내 서브 클래스입니다. App.itemController는 수동으로 인스턴스화 한 ArrayController입니다. 여기에 전체 피들을 볼 수 있습니다 : http://jsfiddle.net/mavilein/qS3aN/12/

하지만 실제로는 작동하지 않습니다. 렌더링되는 항목이 표시되지 않습니다. 컬렉션 도우미와 함께 잘 작동하지만보기에 바인딩을 설정하는 것은 너무 정적입니다. CollectionView는 connectOutlets와 함께 사용하지 않습니까? 당신이 할 수처럼

답변

4

것 같다,하지만이 작은 비틀기가 ItemsView에서 수행해야하십시오 CollectionView 이후

App.ItemsView = Ember.CollectionView.extend({ 
    contentBinding: 'controller', 
    itemViewClass : 'App.ItemView', 
}); 
  • 는 컨텐츠 속성에 의존, 당신은에 바인딩해야 해당 컨트롤러 속성. 당신이, 당신이 Ember.js이 ItemsView 인스턴스 생성 중에를 조회하게하기 위해 문자열로 참조 할 필요가 App.ItemViewItemsView 후 정의로

  • (이 속성은 connectOutlet 시간에 연결되어 있습니다).

바이올린 : http://jsfiddle.net/qS3aN/29/

+0

좋아요. 고맙습니다 :-) – mavilein

관련 문제