collectionView中的itemViewClassBinding

时间:2012-07-13 18:46:57

标签: ember.js

我正在尝试创建一个可重用的组件,它包含一个文本字段,在文本字段下,我希望有一个collectionView来显示已过滤的元素列表。

我的问题是我希望在创建组件时自定义itemViewClass containerView。目前,我将参数listItemView传递给容器视图并声明 itemViewClassBinding: 'parentView.listItemView'而不是硬编码模板。

这引出了一个问题,即Ember断言itemViewClass必须是Ember.View的实例:

  

未捕获错误:断言失败:itemViewClass必须是子类   Ember.View,不是函数(){

有没有人遇到过类似的问题?

谢谢

2 个答案:

答案 0 :(得分:1)

ContainerView类进行子类化是一种选择。以下是一个示例:http://jsfiddle.net/ethan_selzer/kcjzw/240/

这个贴纸可能更容易阅读:http://pastie.org/4256407

答案 1 :(得分:0)

我最近在我的ember应用程序中创建了此功能。我这样做的方法是绑定到一个控制器属性。当用户键入文本字段时,需要将过滤器文本设置为控制器属性。然后,您的控制器将具有另一个属性,该属性将观察过滤器字段文本属性,并根据过滤器文本生成内容数据的过滤列表。然后,您的过滤视图将绑定到控制器的过滤内容,而不是通常(所有)内容。这样,您的两个视图就不需要彼此了解,控制器就会提供数据。