【问题标题】:How to display nested data in template from Ember.js model using basic adapter?如何使用基本适配器在 Ember.js 模型的模板中显示嵌套数据?
【发布时间】:2013-04-26 03:45:28
【问题描述】:

商店:

App.Store = DS.Store.extend({
    revision: 12,
    adapter: DS.BasicAdapter.create()
});

型号:

var Profiles = DS.Model.extend({
    displayName: DS.attr('string'),
    profileName: DS.attr('string')
}),
User = DS.Model.extend({
    email: DS.attr('string'),
    phone: DS.attr('string'),
    profiles: DS.hasMany(Profiles, {embedded: true})
});

模型的 JSON 数据:

{
    "email": "some email",
    "phone": "some phone number",
    "profiles": [
        {
            "displayName": "some name",
            "profileName": "some name"
        },
        {
            "displayName": "some name",
            "profileName": "some name"
        }
    ]
}

在模板中:

{{#if model.isLoaded}}
    email: {{model.email}} // displayed
    {{model.profiles.length}} // number of objects in array is displayed

    {{#each model.profiles}}
        // this line generates error Uncaught TypeError: Cannot call method
           '_create' of undefined ember-data.js:2560
    {{/each}}
{{/if}}

知道为什么这条线会产生错误吗?特别是如果model.profiles.length 显示正确的值?

【问题讨论】:

    标签: javascript ember.js ember-data


    【解决方案1】:

    起初,您用于在用户中嵌入Profiles 的语法不再相关。请检查this answer 以获取正确的设置方法。

    【讨论】:

    • 这是否意味着我不能使用局部变量 Profiles 而我必须在像 App.Profiles 这样的应用程序命名空间中使用它?
    • 这个我不太清楚,也许你可以直接在映射中使用Profiles
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 2016-06-03
    • 1970-01-01
    相关资源
    最近更新 更多