2

我有以下从 API 端点返回的 JSON

{
    users: [
    {
    id: 3,
    email: "example@gmail.com",
    title: "Mr",
    first_name: "Hi",
    last_name: "Hey",
    position: "Web Dev",
    work_phone: "123456",
    company: "Comp",
    sign_in_count: 0,
    last_sign_in_ip: null,
    confirmed_at: null,
    created_at: "2013-11-08T03:30:21.160Z",
    roles: [
    {
    id: 2,
    name: "booth_rep",
    resource_id: null,
    resource_type: null,
    created_at: "2013-11-11T06:14:16.062Z",
    updated_at: "2013-11-11T06:14:16.062Z"
    }
    ]
    }]
}

有没有办法将它与 Emberjs 和 Emberdata 一起使用来name在我的users车把模板中显示角色?

是否必须在模型中指定?

4

2 回答 2

2

看起来他们在这个提交中添加了很多: https ://github.com/emberjs/data/commit/7f752ad15eb9b9454e3da3f4e0b8c487cdc70ff0

所以你需要做的就是定义模型

App.User = DS.Model.extend({
  ...
  roles: DS.hasMany();
});

App.Role = DS.Model.extend({
  ...
  users: DS.hasMany();
});

然后在您的用户模板中

{{#each role in roles}}
  {{role.name}}
{{/each}}
于 2013-11-11T22:04:44.160 回答
1

我不确定我是否正确理解了您的问题,但如果您愿意,您可以从路由模型方法中返回 $.getJSON 的结果:

App.IndexRoute = Ember.Route.extend({
    model: function() {
        return $.getJSON( ... );
    }
});

我创建了一个简单的示例,它使用把手显示来自您的数据的一些信息:http: //jsfiddle.net/x3CEU/

于 2013-11-11T18:25:26.927 回答