这就是我在模板中获取单个JSON值的方法。 我的申请路线:
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return {
url: "myurl"
};
}, setupController(controller, model) {
controller.set("URL", model.url);
}
});
application.hbs:
<h1>{{URL}}</h1>
{{outlet}}
这很好用。我现在要做的是从这种JSON对象中获取值到我的模板中:
{
"employee": [{
"id": "1001",
"name": "Employee1",
"address": {
"Street": "25 West Street",
"city": "City1",
"state": "State1",
"Country": "US"
}
}]
}
我应该在我的应用程序路径中使用什么代码来设置 控制器?
如何检索我的每个键的值 JSON对象进入我的模板?
有没有办法不仅获取 JSON对象的值,还有我的模板中的键?如果 那怎么样?
答案 0 :(得分:0)
您甚至不需要设置控制器。您可以直接使用从model
挂钩返回的内容。请查看以下twiddle。正如您所看到的,我返回了您在model
路由的index.js
挂钩中定义的数据,并使用model
路由模板中的index.hbs
进行了访问。正如kumkanillam在他的评论中所建议的那样,我重复了model
钩子与each
助手的回复。我希望这会有所帮助。
答案 1 :(得分:0)
在此实例中无需使用setupController
,因为路径的模型挂钩中返回的任何内容在相应的控制器中都可用作model
。
可以使用each
和each-in
模板助手显示数据。
each-in
模板助手可用于循环对象并显示键和值。
例如,要显示嵌套的address
属性的键和值:
{{#each model.employee as |employee|}}
<ul>
<li>id: {{employee.id}}</li>
<li>name: {{employee.name}}</li>
<li>address:
<ul>
{{#each-in employee.address as |key value|}}
<li>{{key}}: {{value}}</li>
{{/each-in}}
</ul>
</li>
</ul>
{{/each}}