如何处理余烬中的非模型数据

时间:2018-11-22 10:07:08

标签: ember.js tabular

我想检索与模型相关的表格数据并将其显示在表格中。 我不确定如何在余烬中做到这一点。这是我尝试过的:

我在我的API上添加了一个get操作,该操作返回一个带有数据的json

model_path\:id\related_data

我向模型添加了自定义动作:

allShares: modelAction('all_shares',{type: 'GET'})

这是我将其添加到路线模型中的方法:

allShares: invoice.then((i)=>{return i.allShares()})

现在我有一个model.allShares,其中应该包含数据。在网络检查器中,我可以看到对端点的查询返回了要显示的JSON数据。

视图中的以下代码完全空白:

{{#each model.allShares as |elem index|}}
  {{elem}}
  {{index}}
{{/each}}

我现在可以在检查器中看到一个大对象(使用model()中的调试器),我不确定该怎么做,甚至不确定它是什么类型的对象。

现在我该怎么办才能在视图中显示数据?

编辑:

{{log model.allShares}} 为空白 好的,我不知道日志是用于控制台的。 它显示带有JSON数据的对象。我现在应该在视图中找到如何使用数据。

{{model.allShares}}返回[object Object]

1 个答案:

答案 0 :(得分:1)

基于这个问题,您似乎正在尝试为模型加载关系。一种非常简单的方法是将该关系包含在自身模型中。

模型博客JSON:

{ 
    "id": 1,
    "name": "foo",
    "links": {
        "authors": "/api/blogs/1/authors"
    }
}

Ember模型博客:

export default DS.Model.extend({
    name: DS.attr('string'),
    authors: DS.hasMany('author'),
});

这是与作者具有“ hasMany”关系的博客模型的示例。将其加载到ember数据中后,ember现在将使用该路由,而不是尝试一一调用或通过“ ids”请求(取决于您的序列化程序配置)来调用该关系

在尝试在模板中使用时也会被调用。

我通常发现这比在模型上使用自定义方法更好。只有在绝对有条件时,我才求助于此。最好使用Ember数据而不是使用它。

资源: