我已经创建了FIXTURES
using,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>
我在这里更新了我的代码
首先,您需要将模板名称更改为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}}
希望对您有所帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句