Ember.js为什么需要使用Ember.Select选项值的itemcontroller

时间:2014-01-22 09:06:51

标签: ember.js

经过大量的努力,我意识到我需要在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。谢谢你的任何澄清!

1 个答案:

答案 0 :(得分:1)

  

ObjectController在我的感知链接到相应的ArrayController?

绝不会这样做,并且这种行为在任何地方都没有记录。

没有ArrayController默认链接itemController,ArrayController的itemController的默认值是null参考here

如果您不希望marketController中的计算属性,那么您可以在marketModel中拥有该属性。