Ember.js 如何在ember中处理非模型数据
我想检索与模型相关的表格数据,并将其显示在表格中。 我不知道如何在余烬做到这一点。以下是我尝试过的: 我在API上添加了一个get操作,该操作返回带有数据的json 模型\路径\:id\相关\数据 我向模型中添加了自定义操作: allShares:modelAction'all_shares',{type:'GET'} 下面是我如何将其添加到路线模型中的: allShares:invoice.theni=>{return i.allShares} 现在我有了一个model.allShares,它应该包含数据。在network inspector中,我可以看到有一个对端点的查询,返回了我想要显示的JSON数据 视图中的以下代码完全为空: {{each model.allShares as | elem index |}} {{elem}} {{index}} {{/每个}} 我现在可以在模型中使用调试器在inspector中看到一个大对象,但我不确定该如何处理它,甚至不确定它是什么类型的对象 现在如何在视图中显示数据 编辑: {{log model.allShares}}为空 好的,我不知道日志是用于控制台的。 它用JSON中的数据显示对象。现在我应该知道如何在视图中使用数据Ember.js 如何在ember中处理非模型数据,ember.js,tabular,Ember.js,Tabular,我想检索与模型相关的表格数据,并将其显示在表格中。 我不知道如何在余烬做到这一点。以下是我尝试过的: 我在API上添加了一个get操作,该操作返回带有数据的json 模型\路径\:id\相关\数据 我向模型中添加了自定义操作: allShares:modelAction'all_shares',{type:'GET'} 下面是我如何将其添加到路线模型中的: allShares:invoice.theni=>{return i.allShares} 现在我有了一个model.allShares,它
{model.allShares}返回[object object]根据问题,您似乎正在尝试加载模型的关系。实现这一点的一个非常简单的方法是将这种关系包含在it自身的模型中 模型博客JSON:
{
"id": 1,
"name": "foo",
"links": {
"authors": "/api/blogs/1/authors"
}
}
余烬模型博客:
export default DS.Model.extend({
name: DS.attr('string'),
authors: DS.hasMany('author'),
});
这是一个与作者有很多关系的博客模型的例子。当这被加载到ember数据中时,ember现在将使用该路由,而不是根据序列化程序配置逐个调用关系或使用ids请求
当尝试在模板中使用时,也将调用此函数
我通常发现这比在模型上使用自定义方法要好。我只有在绝对有机会的时候才会这么做。最好使用余烬数据,而不是反对它
资源:
什么是模型行动?老实说,我只是在路上手动取东西。如果您在模板中执行{{log model.allShares}}或仅执行{{model.allShares}}会发生什么情况?我在哪里可以找到有关在Ember中获取的信息?当您执行{log model}时,model的值是多少?log model为空,但您正在显示模型数据?这似乎不对。{{log model}}应该在控制台中显示所有内容,以便您可以进一步调试,并检查您的逻辑与数据的实际内容。但是,您可以使用fetch API本身不是ember的一部分,而是标准JS。这是正确的答案,尤其是在您可以控制API响应的情况下。如果您不这样做,请考虑使用诸如ember ajax或ember fetch服务之类的工具来请求特定的数据。但是,这应该只在绝对必要时使用,并且您应该尽一切努力在模型生态系统中保留关键数据。