经过大量的努力,我意识到我需要在ArrayController'MARKET'中指定一个itemcontroller。需要访问ObjectController'Market'中的计算属性。
我的问题是,为什么需要它?因为ObjectController在我的感知链接到相应的ArrayController?
我在应用程序路径
中设置了控制器// routes/application.js
model: function() {
this.controllerFor('markets').set('model', this.store.find('market'));
}
Ember。选择.hbs文件
// views/article/someViewForARoute.hbs
{{view Ember.Select contentBinding="controller.controllers.markets"
optionLabelPath="content.nameWithTime" optionValuePath="content.id"}}
市场对象控制器
// controllers/market.js
nameWithTime: function() {
return this.get('name') + ' (' + this.get('time') + ')';
}.property('name', 'time')
Markets ArrayController
// controllers/markets.js
itemController: 'market' // Why needed?
这个问题只是询问为什么在Ember.js中需要以这种方式指定itemcontroller。谢谢你的任何澄清!
答案 0 :(得分:1)
ObjectController在我的感知链接到相应的ArrayController?
绝不会这样做,并且这种行为在任何地方都没有记录。
没有ArrayController默认链接itemController,ArrayController的itemController的默认值是null
参考here。
如果您不希望marketController
中的计算属性,那么您可以在marketModel
中拥有该属性。