我正在尝试创建一个可重用的组件,它包含一个文本字段,在文本字段下,我希望有一个collectionView来显示已过滤的元素列表。
我的问题是我希望在创建组件时自定义itemViewClass
containerView
。目前,我将参数listItemView
传递给容器视图并声明
itemViewClassBinding: 'parentView.listItemView'
而不是硬编码模板。
这引出了一个问题,即Ember断言itemViewClass
必须是Ember.View的实例:
未捕获错误:断言失败:itemViewClass必须是子类 Ember.View,不是函数(){
有没有人遇到过类似的问题?
谢谢
答案 0 :(得分:1)
对ContainerView
类进行子类化是一种选择。以下是一个示例:http://jsfiddle.net/ethan_selzer/kcjzw/240/
这个贴纸可能更容易阅读:http://pastie.org/4256407
探
答案 1 :(得分:0)
我最近在我的ember应用程序中创建了此功能。我这样做的方法是绑定到一个控制器属性。当用户键入文本字段时,需要将过滤器文本设置为控制器属性。然后,您的控制器将具有另一个属性,该属性将观察过滤器字段文本属性,并根据过滤器文本生成内容数据的过滤列表。然后,您的过滤视图将绑定到控制器的过滤内容,而不是通常(所有)内容。这样,您的两个视图就不需要彼此了解,控制器就会提供数据。