我准备了这个jsfiddle。这是代码:
App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 13,
adapter: 'DS.FixtureAdapter'
});
App.Router.map(function() {
// put your routes here
});
App.User = DS.Model.extend({
name : DS.attr('string'),
email : DS.attr('string'),
});
App.User.FIXTURES = [{ id: 'me', name: 'Max Smith', email: 'max.smith@email.com' }];
App.IndexRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
这是模板:
<script type="text/x-handlebars" data-template-name="index">
{{#each model}}
<div class="form_labels_wrapper">
<dl class="dl-horizontal">
<dt>Id:</dt> <dd>{{id}}</dd>
<dt>Name:</dt> <dd>{{name}}</dd>
<dt>Email:</dt> <dd>{{email}}</dd>
</dl>
{{/each}}
</div>
</script>
我想要做的是显示单个用户的数据。opbject 没有 id(它代表登录的用户,它与会话相关,并且对于 ember 没有可见的 id)。相反,我被迫创建一个用户列表(只有一个用户),并给它一个假 id ( me
)。这在我的应用程序中毫无意义。
我想使用这个模板,但我不知道如何为此配置 ember:
<script type="text/x-handlebars" data-template-name="index">
<div class="form_labels_wrapper">
<dl class="dl-horizontal">
<dt>Name:</dt> <dd>{{name}}</dd>
<dt>Email:</dt> <dd>{{email}}</dd>
</dl>
</div>
</script>
有了这个夹具:
App.User.FIXTURES = { name: 'Max Smith', email: 'max.smith@email.com' };
请注意,这是单个元素,并且我没有使用 循环遍历模型#each
,因为这不应该是一个列表:只有一个元素。
Ember 拒绝接受这一点。我该怎么做才能让它发挥作用?