[英]How can ArrayController have sublists without needing explicit itemController in {{#each sublist}}?
这有效 :
{{#each basicColours itemController='colour'}}
ColoursController = Ember.ArrayController.extend({
itemController: 'colour',
numBasicColours: 5,
basicColours: function(){
return this.get('arrangedContent').slice(0, this.get('numBasicColours'))
}.property('arrangedContent'),
});
但是我希望能够在每次调用时没有itemController='colour'
来做到这一点,特别是因为该选项没有动态查找,即我不能做itemController=itemController
问题是你在basicColours计算属性(不是数组控制器)上迭代(使用每个)。 如果你想要应用itemController属性,你需要每个都通过控制器本身(这是你执行{{#each}}时会发生的事情(可能还有{{#each item in this}}或{{#each控制器中的项目}})。
你也可以创建另一个模板并调用{{render'otherTemplate'basicColours}}
然后使用OtherTemplateArrayController你可以添加itemController,然后控制器的内容将是你的计算属性。
在模板中:
{{ render 'otherTemplate' basicColours}}
ColoursController = Ember.ObjectController.extend({
numBasicColours: 5,
basicColours: function(){
return this.get('arrangedContent').slice(0, this.get('numBasicColours'))
}.property('arrangedContent'),
});
OtherTemplateArrayController = Ember.ArrayController.extend({
itemController: 'colour'
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.