EmberJS格式化有很多关系

时间:2016-11-02 00:23:03

标签: ember.js

我有以下模型设置:

deliveryMethods: DS.hasMany("delivery-method", { async: true })

使用此计算属性:

  ### COMPUTED PROPERTIES ###
  formattedDeliveryOptions: (->
    @get('deliveryMethods').map((dm) ->
      console.log dm.toJSON()
      return { key: dm.get('name').underscore, value: dm.get('name') }
    )
  ).property("deliveryMethods.@each")

我试图在控制器中访问此属性,如下所示:

  deliveryMethodsArray: (->
    org = @get('controllers.application.currentOrganization')
    console.log org.get('formattedDeliveryOptions')
    return org.get('formattedDeliveryOptions')
  ).property()

但是当console.log dm.toJSON()运行时,organization属性已设置,但没有其他任何内容。不确定我做错了什么

console.log输出: enter image description here

1 个答案:

答案 0 :(得分:0)

因为异步是真的,我相信你需要在获得承诺上做一个then()。

org.get('formattedDeliveryOptions').then((fmtOpts) => { /* do something*/ });

请原谅我的语法,你使用的缩写版本与我的略有不同。这个概念应该是相同的。