我正在开发一个 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/