编辑:已解决,是意外创建而不是扩展 ember 视图。请参阅下面的答案。
我正在为浏览器中没有本机触摸屏键盘的触摸屏设备创建键盘(HP 触摸屏上的 Google Chrome,但如果我错了,请纠正我。我愿意接受更简单的解决方案。)
我想将键盘分成单独的行以使样式更容易。
keyboardView: Ember.CollectionView.create({
elementId: 'search-keyboard',
content: [
[ 'q','w','e','r','t','y','u','i','o','p' ],
[ 'a','s','d','f','g','h','j','k','l' ],
[ 'z','x','c','v','b','n','m' ],
[ ' ' ]
],
itemViewClass: Ember.CollectionView.extend({
tagName: 'ul',
classNames: [ 'keyboard-row' ],
itemViewClass: Ember.View.create({
template: Ember.Handlebars.compile( '{{view.content}}' )
})
})
})
当然,我收到了这个错误:
Uncaught Error: assertion failed: itemViewClass must be a subclass of Ember.View, not <Ember.View:ember186>
我可以将父视图用作 ContainerView 的解决方案,但这意味着为子 collectionViews 复制 classNames、tagNames 等
有没有办法在不重复代码的情况下创建这个键盘和键盘行?