我正在開發一個Ember-js應用程序,我想將每篇文章鏈接到下一篇和上一篇文章。我想根據JSON API工作。get'self','next'和'previous'links(ember v2)
我已經設法加載/顯示文章的(博客)作者體面和加載和顯示下一篇(相關)文章的'傳情'。這工作正常。
現在,下一件應該是相當簡單的:如何加載我的文章中定義的'鏈接'?如何將它們添加到我的模型中,或者以我的Handlebars模板中的其他方式顯示它們?
讓我舉一個exerpt從我的JSON-repsonse(有效載荷):
{
"data": {
"type": "blogs",
"id": "5",
"links": {
"previous": "blogs/4",
"self": "blogs/5",
"next": "blogs/6"
},
"attributes": {…}, // title, subtitle, bodytext, etc.
"relationships": {
…
},
最重要的問題是如何獲得從JSON回覆這個「自我」鏈接。這些數據可以直接從'模型'中使用嗎?
我的模型如下所示:
//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')
});
UPDATE 作爲@bungee指出,有一個錯誤(對JSONAPI規格)的有效載荷。 '鏈接'數組應該是'數據'的兄弟,而不是後代。然而,在Ember 2.8中,這仍然不會讓Ember「吃」它。 :)
感謝您的建議。我已將包含模型的文件添加到問題中。 我使用標準的JSONAPIAdapter。 你說它看起來不像標準的餘燼餘數據結構。什麼部分沒有? – Ideogram
links參數看起來不像標準的ember rest格式。我期望的鏈接是,例如一對多的關係,並簡單地是一個id數組,如下所示:'''鏈接:['id123987','id12308',...]''。或者像我建議的那樣,將鏈接作爲父代的直接屬性:{previousLink:「blogs/4」,selfLink:「blogs/5」,nextLink:「blogs/6」}。但可以是你知道我沒有的東西。 – bungee
你說得對,因爲我在將'previous','self'和'next'鏈接添加爲數據的直接參數時也是錯誤的。他們的父母'鏈接'應該是數據的兄弟姐妹。然後,它仍然不起作用,因爲Ember不知道如何消化它。 – Ideogram