我使用FIXTURES创建了ember-model,并试图在模板上访问它,但如果使用{{model.name}},它将不会显示任何结果。它与each助手一起工作很好。
我想访问像{{model.name}}这样的模型的单个节点,而不使用任何each助手。
我的模型代码:
Astcart.Home.FIXTURES=[
{
"id": "1",
"logo_url": "img/logo.jpg",
"name": "gau",
"list": [
{
"id": "1",
"name": "amit"
},
{
"id": "2",
"name": "amit1"
}
]
}
];我的路由器代码:
Astcart.HomeRoute = Ember.Route.extend({
model: function() {
return Astcart.Home.find();
}
}); 我的模板:
<script type="text/x-handlebars" data-template-name="home">
{{model.name}}
<ul>
{{#each item in model}}
<img {{bindAttr src="item.logo_url"}}></img>
<li>{{item.name}}</li>
{{#each item in item.list}}
<li>{{item.name}}</li>
{{/each}}
{{/each}}
</ul>
</script>我已经更新了代码这里
发布于 2013-09-02 14:51:13
首先,需要将模板名更改为index,或者将路由更改为Astcart.ApplicationRoute,因为模板名称和路由名称必须匹配。
目前的配置如下:
路由
Astcart.IndexRoute模板
<script type="text/x-handlebars" data-template-name="application">别工作了。
没有对角的find()将执行一个find all data,这将始终返回一个数组。
如果需要单个数据,可以执行下列选择之一:
1-在find方法中传递id,但您需要知道id:
Astcart.Home.find(1);这将返回一个对象,然后可以使用{{model.name}}或{{name}} (因为模板的上下文是model),而不需要each视图助手。
2-获取数组的第一个对象:
{{#with model.firstObject as item}}
<img {{bindAttr src="item.logo_url"}}></img>
{{item.name}}
{{/with}}我希望它能帮上忙
https://stackoverflow.com/questions/18557828
复制相似问题