为不同的对象重用模型

时间:2013-04-04 10:33:17

标签: ember.js ember-data

我定义了以下模型:

App.Node = DS.Model.extend({
    type: DS.attr('string'),
    name: DS.attr('string')
});

可以通过REST中的api/nodes检索此模型的数据。

现在我有类似的数据,可以在api/phonenumbers中找到。数据结构是一样的,所以我想重用模型。我已定义:

App.Phonenumber = App.Node;

但这不起作用。对于此模型,请求仍然会发送到api/nodes。为什么?我该如何重用模型?

2 个答案:

答案 0 :(得分:4)

我认为App.Phonenumber = App.Node.extend({});可能会成功。

答案 1 :(得分:2)

你能问'Phonenumber是节点吗?'在你的背景下?

如果是,那么扩展就是您的解决方案。

如果没有,那么你可能会问'Phonenumber是否类似节点?'。

在这种情况下,我会做以下事情:

var genericNameConfig = {
  type : DS.attr('string'),
  name : DS.attr('string')
};

App.Node        = DS.Model.extend(genericNameConfig);
App.Phonenumber = DS.Model.extend(genericNameConfig);