【问题标题】:Load Meta detail with Model in one JSON request in Ember-data 1.13.8在 Ember-data 1.13.8 中的一个 JSON 请求中使用模型加载元详细信息
【发布时间】:2015-08-22 20:04:22
【问题描述】:

我有以下路线:

this.resource('users', { path: '/'});

还有以下两种ember模型:usermeta

当我转到上述路线并使用覆盖的模型函数加载用户数组时:

model: function() {
        return this.store.findAll('user');
    },

服务器返回以下 JSON:

{
  "users" : [ {
    "id" : "ab650b0d-bea7-4619-a3fd-95f4c7bfd722",
    "firstName" : "Shivam",
    "lastName" : "Sinha",
    "username" : "shiv",
    "gender" : "M",
    "contactdetails" : [ {
      "id" : "fb5c9345-037e-4a57-9801-2b260b9b15fa",
      "name" : "Shiv",
      "type" : "PRIMARY_EMAIL",
      "value" : "ssdfsdfa@outlook.com",
      "userExist" : true,
      "isVerified" : false
    } ]
  } ],
  "meta" : {
    "sort" : "id: ASC",
    "size" : 20,
    "number" : 0,
    "totalPages" : 1,
    "numberOfElements" : 1,
    "totalElements" : 1,
    "firstPage" : true,
    "lastPage" : true
  }
}

用户模型被正确反序列化并作为 ember 模型加载。但是元模型被忽略了。我怎样才能让元模型作为 ember 模型正确加载,而无需实际执行单独的请求?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    从您的示例看来,您正在尝试解析元数据,而不是一次实际加载两个模型。

    在此处查看有关如何处理元数据的信息: http://guides.emberjs.com/v1.13.0/models/handling-metadata/

    根据您的示例,您可能希望使用如下内容:

    var meta = this.store.metadataFor("user");
    

    【讨论】:

      【解决方案2】:

      信用@tbjers

      有两种方法:

      1. 您可以尝试幻灯片加载:http://guides.emberjs.com/v2.0.0/models/the-rest-adapter/#toc_sideloaded-relationships

      2. 但是,这可能是元细节的最佳方法:

      http://guides.emberjs.com/v1.13.0/models/handling-metadata/

      或与 Ember 2:

      http://guides.emberjs.com/v2.0.0/models/handling-metadata/

      由于我使用的是 ember 1.13.0,因此我使用了以下方法:

      var meta = this.store.metadataFor("user");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-23
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多