Я новичок в среде ember, и у меня есть проблемы или сомнения в доступе к ember-data. Я использую ember-cli и ember-cli-mirage для демонстрационных целей.
config.js
export default function() {
this.get('/newcontracts', function(db, request) {
return {
data:[{
"type": "newcontracts",
"id": 1,
"attributes": {
"department-type": ["Legal", "Sales"],
"agreement-type": ["Service Agreement", "Purchase"],
"renewal-type": ["One time", "None"]
}
}]
}
});
Магазин Ember
export default Model.extend({
"type": "",
"department-type": attr(""),
"agreement-type": attr(""),
"renewal-type": attr("")
});
Маршрутизатор
export default Ember.Route.extend({
model: function(){
console.log(this.get('store').findAll('newcontract')) // outputs ember class
return this.get('store').findAll('newcontract');
});
Контроллер
export default Ember.Controller.extend({
details: Ember.computed('model', function() {
return this.store.peekRecord('new-contract', 1) // --> outputs ember class
//console.log(this.store.peekRecord('new-contract', 1).get('department-type)) ---> desired output(array)
})
departmentDetails: Ember.computed('model', function() {
this.details.get('department-type') ; ///error
})
});
Шаблон
{{log "model" details}} --> ember class
{{log "model" model}} --> ember class
{{log "model" model.department-type}} --> undefined
Могу ли я получить доступ к таким сведениям о отделе? Я получаю нужные данные, если использую закомментированную строку в свойстве details. Должен ли я получать все данные отдельно из магазина? Кроме того, регистрация значения в модели дает класс Ember.
Даже в файле шаблона я не могу получить значение model.department-type и т.д.
Я правильно получаю данные в инспекторе хрома Ember. К вашему сведению, я использую Ember 2.5.1. Пожалуйста, помогите мне в этом.
atr()
, а неattr("")
. Вам также нужно сделатьthis.get('details')
вdepartementDetails
. - person locks   schedule 15.07.2016