从 HTMLBars 中的数组访问索引项
Accessing indexed item from array in HTMLBars
我有一个自定义的 API 格式不便于与 Ember 数据一起使用。我无法从我的 api.
获取嵌套数组属性的值
api 回复:
{
"data": [
{
"id": 6,
"name": "Company Name",
"links": [
{
"rel": "self",
"uri": "/address-book/company-name"
}
],
"details": {
"data": {
"website_url": "http://website.com/",
"development_website_url": "http://dev_website.com",
"primary_phone": 9543333333,
"primary_email": "email@emai.email"
}
}
},
{
"id": 3,
"name": "Company Name",
"links": [
{
"rel": "self",
"uri": "/address-book/company-name"
}
],
"details": {
"data": {
"website_url": "http://website.com/",
"development_website_url": "http://dev_website.com",
"primary_phone": 9543333333,
"primary_email": "email@emai.email"
}
}
}
]
}
我正在尝试让 link 显示在这里是我的车把:
{{#each m in model}}
<tr>
<td>
<a href="{{m.links.uri}}">{{m.name}}</a>
</td>
</tr>
{{/each}}
现在 link uri 只是空白。如果我将其更改为 {{m.links}}
即 return {object object}。我也试过 {{m.links[0].uri}}
只是想看看这是否可行,但效果不佳。
这是我的路由器和用于它的适配器。
export default Ember.Route.extend({
model: function(){
var adapter = AddressBookAdapter.create();
var companies = adapter.findAll();
return companies;
}
});
适配器:
export default Ember.Object.extend({
findAll: function(){
return ajax('http://localhost:8000/api/v1/address-book/companies?includes=details')
.then(function(response){
return response.data;
});
}
});
如何获取这些属性的值?我觉得这真的很容易,但我就是不明白。
要访问模板中数组特定索引处的元素,您应该使用语法 {{array.[index]}}
根据您的 api 回复,这应该可行:
{{#each m in model}}
<tr>
<td>
<a href="{{m.links.[0].uri}}">{{m.name}}</a>
</td>
</tr>
{{/each}}
我有一个自定义的 API 格式不便于与 Ember 数据一起使用。我无法从我的 api.
获取嵌套数组属性的值api 回复:
{
"data": [
{
"id": 6,
"name": "Company Name",
"links": [
{
"rel": "self",
"uri": "/address-book/company-name"
}
],
"details": {
"data": {
"website_url": "http://website.com/",
"development_website_url": "http://dev_website.com",
"primary_phone": 9543333333,
"primary_email": "email@emai.email"
}
}
},
{
"id": 3,
"name": "Company Name",
"links": [
{
"rel": "self",
"uri": "/address-book/company-name"
}
],
"details": {
"data": {
"website_url": "http://website.com/",
"development_website_url": "http://dev_website.com",
"primary_phone": 9543333333,
"primary_email": "email@emai.email"
}
}
}
]
}
我正在尝试让 link 显示在这里是我的车把:
{{#each m in model}}
<tr>
<td>
<a href="{{m.links.uri}}">{{m.name}}</a>
</td>
</tr>
{{/each}}
现在 link uri 只是空白。如果我将其更改为 {{m.links}}
即 return {object object}。我也试过 {{m.links[0].uri}}
只是想看看这是否可行,但效果不佳。
这是我的路由器和用于它的适配器。
export default Ember.Route.extend({
model: function(){
var adapter = AddressBookAdapter.create();
var companies = adapter.findAll();
return companies;
}
});
适配器:
export default Ember.Object.extend({
findAll: function(){
return ajax('http://localhost:8000/api/v1/address-book/companies?includes=details')
.then(function(response){
return response.data;
});
}
});
如何获取这些属性的值?我觉得这真的很容易,但我就是不明白。
要访问模板中数组特定索引处的元素,您应该使用语法 {{array.[index]}}
根据您的 api 回复,这应该可行:
{{#each m in model}}
<tr>
<td>
<a href="{{m.links.[0].uri}}">{{m.name}}</a>
</td>
</tr>
{{/each}}