【问题标题】:Is there a way to get an Ember model's hasMany children without specifying relationship name?有没有办法在不指定关系名称的情况下获取 Ember 模型的 hasMany 孩子?
【发布时间】:2013-07-11 16:20:33
【问题描述】:

假设你有一个模型:

App.Contact = DS.Model.extend
  name: DS.attr('string')
  addresses: DS.hasMany('App.Address')

我知道我可以通过简单地获取地址:

@get('model').get('addresses')

但是假设你有很多模型,每个模型都有一个或多个不同的 hasMany 关系。有没有办法一般地抓住关系?

类似:

@get('model').get('hasMany')

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    给定一个 ember 模型类,你可以得到它的如下关系:

    var 属性 = Ember.get(App.Post, 'attributes'); var 关系 = Ember.get(App.Post, 'relationships');

    如果不知道型号的类型,可以将App.Post替换为

    var klass = model.get('constructor');
     //or based on your question
    var klass = this.get('model.constructor');
    

    【讨论】:

    • 根据您的建议,我看到 Ember.get(klass, 'relationships') 返回 Ember.MapWithDefault。它的“values”属性包含一个数组哈希,其中一个包含一个 Object {kind: "hasMany", name: "addresses"}。为了让我接受你的回答,你实际上是如何抓住 hasMany 关系的?
    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2010-09-14
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多