ember.js - 获取 'self' 、 'next' 和 'previous' 链接(ember v2)

标签 ember.js ember-data ember-cli json-api

我正在开发一个 Ember-js 应用程序,我想将每篇“文章”链接到下一篇和上一篇文章。我想按照JSON API工作.

我已经设法以适当的方式加载/显示文章(博客)作者,并加载并显示下一篇(相关)文章的“预告片”。效果很好。

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

让我摘录一下我的 JSON 响应(有效负载):

{

  "data": {
    "type": "blogs",
    "id": "5",
    "links": {
      "previous": "blogs/4",
      "self": "blogs/5",
      "next": "blogs/6"
    },
    "attributes": {…}, // title, subtitle, bodytext, etc. 
    "relationships": {
        …
      },

最重要的问题是如何从 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”的同级数组,而不是后代数组。然而,在 Ember 2.8 中,这仍然不会让 Ember“吃掉”它。 :)

最佳答案

我假设您正在使用数据适配器?如果是这样,您是否创建了与您显示的数据结构相对应的模型。对我来说,这看起来不是标准的 ember Rest 数据结构,但它取决于您使用的适配器。另外,您似乎可以考虑将 previous、self 和 next 设置为数据的直接参数..?

关于ember.js - 获取 'self' 、 'next' 和 'previous' 链接(ember v2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42441896/

相关文章:

javascript - Ember-data 无法读取未定义的属性 'length'

node.js - Ember-cli 希望守望者 >3*,我有 4* 但它仍然提示

javascript - Ember 的模板渲染管道

javascript - Ember 在哪里放置 jquery 就绪函数?

ember.js - 为什么我需要 "reopenClass"来设置 ember-data 模型的 url?

javascript - 替换 Ember.ArrayController.create() 不会解决 belongTo 关系 | Ember 升级 3.x

ember.js - 如何使用 Ember CLI 进行生产就绪构建?

validation - Ember-验证问题与 Ember CLI 和 Ember 数据

Ember.JS View 不渲染?

javascript - 如何使用 ember 中所有已检查的变量来过滤表中的项目?