2012-07-13 15 views
1

我想創建一個可重用的組件,它包含一個textfield,並且在textfield下,我想要一個collectionView來顯示一個過濾的元素列表。itemViewClassBinding在一個collectionView

我的問題是,我想itemViewClasscontainerView在創建組件時需要自定義。目前,我將參數listItemView傳遞到容器視圖並聲明 itemViewClassBinding: 'parentView.listItemView'而不是具有硬編碼模板。

這使我一個問題,即灰燼斷言itemViewClass必須Ember.View的一個實例:

Uncaught Error: assertion failed: itemViewClass must be a subclass of Ember.View, not function() {

有沒有人遇到了類似的問題?

謝謝

回答

1

對您的ContainerView班進行子分類是一種選擇。這裏有一個例子:http://jsfiddle.net/ethan_selzer/kcjzw/240/

這pastie可能會更容易一些閱讀:http://pastie.org/4256407

伊桑

+0

謝謝!我想出了和你一樣的解決方案。我的問題是我在容器視圖中創建視圖而不是擴展視圖。當我改變擴展它開始工作。 – gingman 2012-07-16 13:52:31

0

我最近在我的燼應用程序中創建了這個功能。我這樣做的方式是通過綁定到控制器屬性。當用戶鍵入文本字段時,需要將過濾器文本設置爲控制器屬性。然後,您的控制器將擁有另一個屬性,該屬性可以觀察過濾器字段文本屬性,並根據過濾器文本生成內容數據的過濾列表。然後,您的過濾視圖將綁定到控制器的過濾內容,而不是通常的(全部)內容。這樣你的兩個視圖就不需要了解對方,控制器就可以提供數據。

+0

謝謝你,我已經有工作代碼。我唯一的問題是爲我的collectionView提供一個動態itemViewClass。如果我harcode一個itemViewClass然後它工作正常。我只是想讓它在更高的層面上擴展。如果我可以提供一個基本的itemViewClass並在需要的時候覆蓋它,那麼我可以在每個案例中使用這個組件。這是我無法完成的最好的版本。 http://pastie.org/4251637 – gingman 2012-07-13 19:24:36

相關問題