gpt4 book ai didi

ember.js - 如何使用 Ember 数据访问 json 中的嵌套对象

转载 作者:行者123 更新时间:2023-12-02 18:34:14 25 4
gpt4 key购买 nike

我正在使用 Ember 数据,但很难弄清楚让 ember 识别来自服务器的 JSON 响应中的嵌套属性。这是 ember-1.0.0-pre.4.js。

目前,我已经设置了与 Ember 数据修订版 11 相关的模型。这里是

# School Model
App.School = DS.Model.extend
addr: DS.belongsTo('App.Addr')

name: DS.attr 'string'
status: DS.attr 'string'

# Address Model
App.Addr = DS.Model.extend
school: DS.belongsTo 'App.School'

line1: DS.attr 'string'
city: DS.attr 'string'
state: DS.attr 'string'
iso: DS.attr 'string'

这是来 self 的服务器的 JSON 响应:

{"schools":
[{
"_id":"51020261bbc3b8c526000007",
"name":"Willamette",
"status":"p",
"addr":{
"line1":"122 Evergreen Terrace",
"city":"Springfield",
"state":"IL",
"iso":"US"
}
}
]}

我的适配器设置如下:

    App.Store = DS.Store.extend
revision: 11
adapter: DS.RESTAdapter.create({
url: "http://localhost:8000/api"
serializer: DS.RESTSerializer.extend
primaryKey: (type) ->
'_id';
})

更新:我尝试映射 addr 属性,如下所示。仍然没有骰子...

DS.RESTAdapter.map 'App.School', 
addr: { embedded: 'always'}

在我的模板中,我想做这样的事情......

   <script type="text/x-handlebars" data-template-name="school">
<h2>School: {{name}}</h2>
<p> Status: {{ status }}</p>
<p> Address: {{ addr.line1 }} {{ addr.city }} </p>
</script>

名称和状态属性呈现良好。但addr.line1和addr.city是空白的。有没有办法让 Ember 识别嵌套的 addr 属性?

谢谢!

最佳答案

由于您要将 addr JSON 嵌入学校 JSON 中,因此您需要在 DS.RESTAdapter 中设置映射。

DS.RESTAdapter.map 'App.School',
addr: { embedded: 'always' }

嵌入选项可以有两个值,1) 始终,2) 加载。

详细信息请参阅 Yehuda 的回答:https://stackoverflow.com/a/14324532/1409279

关于ember.js - 如何使用 Ember 数据访问 json 中的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591892/

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