我使用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
复制相似问题