【问题标题】:Ember Data: Can't access model data from templateEmber 数据:无法从模板访问模型数据
【发布时间】:2015-03-20 15:39:52
【问题描述】:

所以我这几天一直在反对这个问题。我根本无法让我的模型数据在模板中呈现。没有抛出任何错误,当我在模板中插入 {{model}}{{controller}} 时,我分别获得了对 DS 和 Ember 对象 <DS.RecordArray:ember411><App.FamilyController:ember438> 的引用。

查看 Ember 检查器,“数据”选项卡显示了我在家庭中加载的记录,如果我单击对象引用并进入成员/帖子字段,它也会加载成员/帖子......所以检查员至少似乎正确地获取了数据,但模板没有。非常感谢任何帮助。

js/routes/family.js.coffee App.FamilyRoute = Ember.Route.extend model: -> @store.find 'family'

js/templates/family.hbs <img {{bind-attr src=img}} alt="Profile"> <h1>{{name}} Family</h1> <p>{{description}}</p> {{families}} {{controller}}

js/controllers/family.js.coffee App.FamilyController = Ember.ObjectController.extend({})

js/models/family.js.coffee App.Family = DS.Model.extend name: DS.attr('string') description: DS.attr('string') img: DS.attr('string') members: DS.hasMany('member', {async: true}) posts: DS.hasMany('post', {async: true}) 来自 API 的 JSON { "families": [{ "id": 2, "name": "Weebleson", "description": "Bob, Jill, Jane, John and Spot.", "img": "/images/weebleson.jpg", "member_ids": [6, 5, 4], "post_ids": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80] }] }

Ember : 1.8.1 Ember Data : 1.0.0-beta.14.1 Handlebars : 1.0.0 jQuery : 1.11.1

【问题讨论】:

    标签: ruby-on-rails ember.js coffeescript ember-data handlebars.js


    【解决方案1】:

    this.store.find@store.find 在 coffeescript 案例中返回 所有 商店中的模型。因此,默认情况下,您将获得一个模型返回列表。看起来该列表中会有一个家庭。

    如果你想在列表中显示它,你可以使用{{#each family in families}}{{family.name}}{{/each}}

    要仅在您的FamilyRoute 中获取某个 ID,您可以使用 @store.find('family', id)。所以一个例子是@store.find('family', 2)。这会到达不同的端点。

    如果要返回第一个结果,可以使用find返回的promise:

    @store.find('family').then (family) -> family.get('firstObject')

    【讨论】:

    • 非常感谢……生活又可以恢复了! :P
    猜你喜欢
    • 2016-11-18
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多