gpt4 book ai didi

ember.js - 如何遍历console中的hasMany关系?

转载 作者:行者123 更新时间:2023-12-02 00:06:49 25 4
gpt4 key购买 nike

App.CardCategory = DS.Model.extend
properties: DS.hasMany 'App.CardProperty'

App.CardProperty = DS.Model.extend
symbol: DS.attr 'string'
label: DS.attr 'string'
popover: DS.attr 'string'
unit: DS.attr 'string'

DS.RESTAdapter.configure 'plurals',
card_property: 'card_properties'

我可以通过 App.XXX.find()/find(n) 获取 CardPropertyCardCategory 但无法在 Chrome 控制台中遍历此关系。

这个:

App.CardCategory.find(1).get('properties').objectAt(1)

返回“未定义”,而:

App.CardCategory.find(1).get('properties')

返回:

Class {type: undefined, store: Class, _changesToSync: Ember.OrderedSet, owner: Class, name: "properties"…}

我在控制台中获取数据时总是遇到问题,因此我想知道执行此操作的 final方法是什么。


更新

回应评论。

App.CardCategory.find(1).get('properties.length') 返回0。对 /card_categories/1` 的响应如下:

{
"card_category":{
"contains_new_purchase_slider":false,
"id":1,
"name":"Balance Transfer Cards",
"promo_card_id":3,
"promo_panel_active":true,
"promo_panel_card_teaser":"Maiores rerum quibusdam consectetur id culpa. Enim unde explicabo et quae",
"promo_panel_description":"Fugiat optio sint dolores non ut qui eveniet.",
"promo_panel_header":"Unde ut voluptates eos ea dolor rerum mollitia.",
"property_ids":[
4,
2,
5,
16
],
"slug":"balance-transfer-cards"
}
}

最佳答案

一些快速的细节,hasMany 和 belongsTo 并没有在找到后立即具体化。

尝试一些事情看看是否是这种情况。

App.CardProperty.find(); // load the properties first
var cc = App.CardCategory.find(1);
var props = cc.get('properties');
propsLength = props.get('length');
props.forEach(function(prop){
console.log('prop exists here: ' + prop.get('label'));
}

如果是这样,你总是可以做

Ember.run.next({
// they will be materialized at this point
});

关于ember.js - 如何遍历console中的hasMany关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com