2012-08-23 61 views
1

我目前正在使用一個ContainerView,它有一個CollectionView,但想在CollectionView的ItemView中有另一個視圖。我已將ItemView更改爲ContainerView,並添加了新視圖,但是我無法將父容器 - >容器中的內容綁定到子視圖。Ember.js集合視圖與項目容器視圖

我可以傳遞值,但由於某種原因綁定只是barf。

代碼:

App.MainView = Ember.ContainerView.extend({ 
    header: Ember.View.create({ 
     templateName: "headerView" 
    }), 

    list: Ember.CollectionView.extend({ 
     contentBinding: "parentView.content", 
     itemViewClass: "App.childContainer", 
     tagName: "table" 
    }), 

    footer: Ember.View.create({ 
     templateName: "footerView" 
    }) 
}); 

App.childContainer= Ember.ContainerView.extend({ 
    templateName: "childContainer", 
    didInsertElement: function() { 
     //NOTE:: THIS WORKS 
     var v = App.childContainerItem.create({"content":this.get('content')}); 
     //NOTE:: THIS DOESN'T WORK 
     var v = App.childContainerItem.create({"contentBinding":"this.content"}); 
     this.get('childViews').pushObject(v);  
    } 
}); 

App.childContainerItem= Ember.View.extend({ 
    didInsertElement: function() { 
     console.log(this.get('content').get('value'));  
    } 
}); 

我得到:TypeError: this.get("content") is undefined

我得到我親密的感覺,只是缺少一些愚蠢的事情。有人能給我敲額頭嗎?

+0

我不知道你想要的是什麼在這裏,你可以發佈一個完整的jsfiddle好嗎?我只能說,是使用'this.content',只是嘗試使用'內容'進行綁定。 –

回答

0

您可以通過加入這一行didInsertElement功能獲取視圖的HTML內容,

App.childContainerItem= Ember.View.extend({ 
    didInsertElement: function() { 
     console.log(this.get('content').get('value'));  
    } 
}); 
相關問題