Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 获取';自我'';下一个';和';以前的';链接(余烬v2)_Ember.js_Ember Data_Ember Cli_Json Api - Fatal编程技术网

Ember.js 获取';自我'';下一个';和';以前的';链接(余烬v2)

Ember.js 获取';自我'';下一个';和';以前的';链接(余烬v2),ember.js,ember-data,ember-cli,json-api,Ember.js,Ember Data,Ember Cli,Json Api,我正在开发一个Ember js应用程序,我想把每一篇“文章”链接到下一篇和上一篇文章。我想按计划工作 我已经设法以一种体面的方式加载/显示文章(博客)作者,并加载和显示下一篇(相关)文章的“摘要”。那很好 现在,下一个问题应该相当简单:如何加载文章中定义的“链接”?如何将它们添加到我的模型中,或以任何其他方式在我的把手模板中显示它们 让我从我的JSON代表(有效负载)中给出一个练习: 最重要的问题是如何从JSON回复中获取这个“self”链接。这些数据可以直接从“模型”中使用吗 我的模型如下所示

我正在开发一个Ember js应用程序,我想把每一篇“文章”链接到下一篇和上一篇文章。我想按计划工作

我已经设法以一种体面的方式加载/显示文章(博客)作者,并加载和显示下一篇(相关)文章的“摘要”。那很好

现在,下一个问题应该相当简单:如何加载文章中定义的“链接”?如何将它们添加到我的模型中,或以任何其他方式在我的把手模板中显示它们

让我从我的JSON代表(有效负载)中给出一个练习:

最重要的问题是如何从JSON回复中获取这个“self”链接。这些数据可以直接从“模型”中使用吗

我的模型如下所示:

//models/blog.js

import DS from 'ember-data';

export default DS.Model.extend({
  nid        : DS.attr('string'),
  title      : DS.attr('string'),
  subtitle   : DS.attr('string'),
  intro      : DS.attr('string'),
  …
  author     : DS.belongsTo('person'),
  next       : DS.attr('next'),
  previous   : DS.belongsTo('person')
});

更新
正如@bungee所指出的,有效载荷中有一个错误(与JSONAPI规范相反)。“links”数组应该是“data”的同级,而不是后代。然而,在余烬2.8中,这仍然不会使余烬“吃”它

我假设您使用的是数据适配器?如果是,您是否创建了与显示的数据结构相对应的模型。在我看来,这似乎不是标准的ember rest数据结构,但它取决于您使用的适配器。同样,你可以考虑将以前、自我和下一个设置为数据的直接参数……

< P>基于En烬Cube(SalkWuffe)的帮助,我发现目前不可能:

回答Bungee的评论:JSON-API()指定这些“前一个”、“自我”和“下一个”链接应该位于有效负载的根下,但我们不能

我们确实可以通过将它们移动到“数据”下来解决问题→ '负载if中的属性可以接受不遵守JSON-API规范的想法

顺便说一下:引用JSON-API的:

Pagination links MUST appear in the links object that corresponds to a collection. To paginate the primary data, supply pagination links in the top-level links object.

[…]

The following keys MUST be used for pagination links:

    first: the first page of data
    last: the last page of data
    prev: the previous page of data
    next: the next page of data

谢谢你的建议。我已将包含模型的文件添加到问题中。我使用标准的JSONAPIAdapter。您说它看起来不像标准的余烬rest数据结构。什么部分没有?links参数看起来不像标准的余烬rest格式。例如,我希望链接是一对多关系,只是一个id数组,如下所示:
链接:['id123987','id12308',…]
。或者像我建议的那样,将链接作为父对象的直接属性:{previousLink:“blogs/4”,selfLink:“blogs/5”,nextLink:“blogs/6”}。但你可能知道一些我不知道的事情。你是对的,我在数据中添加“上一个”、“自我”和“下一个”链接作为直接参数也是错误的。它们的父级“链接”应该是数据的同级。然后,它仍然无法工作,因为Ember不知道如何消化它。查看@Ideogram发布的链接,示例是从有效负载中获取链接参数并将其置于meta.pagination下。因此,正如他所说:目前似乎不支持开箱即用的分页链接
Pagination links MUST appear in the links object that corresponds to a collection. To paginate the primary data, supply pagination links in the top-level links object.

[…]

The following keys MUST be used for pagination links:

    first: the first page of data
    last: the last page of data
    prev: the previous page of data
    next: the next page of data