我有以下代码:
App.UserAdapter = DS.FixtureAdapter.extend({});
App.User = DS.Model.extend({
activity: DS.hasMany('activity'),
firstname: DS.attr('string'),
lastname: DS.attr('string'),
username: DS.attr('string'),
email: DS.attr('string'),
phone: DS.attr('string')
});
还有一个固定装置:
App.User.FIXTURES = [
{
id: 1,
firstname: 'John',
lastname: 'Doe',
username: 'jdoe',
email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="563c323933163726263a337835393b" rel="noreferrer noopener nofollow">[email protected]</a>',
phone: '408-111-1111'
}
];
App.IndexRoute = Ember.Route.extend({
model: function() {
return this.store.find('user');
}
});
现在我想在模板中访问这些数据:
<script type="text/x-handlebars" id="index">
<h2>Login</h2>
{{#each}}
<ul>
<li>User: {{firstname}} {{lastname}}</li>
<li>User Name: {{username}}</li>
<li>Password: {{input}}</li>
</ul>
{{/each}}
</script>
它迫使我将它作为数组访问。我在这里做错了什么吗?
最佳答案
当您使用 DS.Store#find
并且不传递 ID 时,它将返回该类型的所有记录。
如果您想在商店中查找特定记录,您需要传递该记录的 ID。
例如查找id为1的用户:
App.Router.map(function() {
this.route("user", { path: '/users/:id' });
});
App.UserRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('user', params.id);
}
});
http://emberjs.com/api/data/classes/DS.Store.html#method_find
关于ember.js - 将 Ember 数据与 Fixtures 结合使用并返回单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25247998/