我的智慧结束了这一点,我知道我可能只是错过了一些非常明显的东西。试图与Ember和Lavarel合作。 Lavarel正在正确发送数据,但我似乎无法在存储后访问它。我已经尝试了很多不同的东西来使这个工作,但它总是显得空白,好像在model.car(或汽车,或模型,等等)没有任何东西。如果有人能指出我正确的方向,会有所帮助。我已经看到了一些类似的问题,但似乎都没有解决我的问题。
cars.js(路线)
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.findAll('car');
}
});
car.js(型号)
import DS from 'ember-data';
export default DS.Model.extend({
make: DS.attr('string'),
model: DS.attr('string')
});
cars.js(控制器)
import Ember from 'ember';
export default Ember.Controller.extend({
session: Ember.inject.service()
});
application.js(序列化程序)
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
normalizeSingleResponse(store, primaryModelClass, payload, id, requestType) {
let typeKey = primaryModelClass.modelName;
let ret = {};
ret[typeKey] = payload;
return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, true);
},
normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) {
let typeKey = primaryModelClass.modelName;
let ret = {};
ret[typeKey] = payload;
console.log(ret);
return this._normalizeResponse(store, primaryModelClass, ret, id, requestType, false);
}
});
cars.hbs(模板)
{{outlet}}
<ul id="todo-list">
{{#each model.car}}
<li>
<input type="checkbox" class="toggle">
<label>{{make}}</label><button class="destroy"> delete item</button>
</li>
{{/each}}
</ul>
答案 0 :(得分:0)
如果您将车型装入商店,那么您的一切都是正确的。如你所说,你错过了一些非常明显的东西ie。而不是model.car
,您可以使用model
进行访问。
对于下一个调试这个我鼓励你使用像{{log 'model' model}}
这样的日志助手,这将在控制台中打印模型对象。您可以浏览ember template development helper ember指南
<ul id="todo-list">
{{#each model as |car|}}
<li>
<input type="checkbox" class="toggle">
<label>{{car.make}}</label><button class="destroy"> delete item</button>
</li>
{{/each}}
</ul>
{{outlet}}