Как я могу получить содержимое данных ember из вида?
Модель:
Blocks.NVD3Chart = Blocks.DSModel.extend({
xAxis: DS.attr()
,series: DS.attr()
})
Blocks.NVD3Chart.FIXTURES = [
{
"id": "02c6486ac0a8017400348bcdb2029c63asdf"
,xAxis: [1,2]
,series: [
{
data: [10,20]
,name: "Employment"
}
]
}]
Маршрут:
Blocks.LetsseeRoute = Ember.Route.extend({
model: function() {
return this.store.find('NVD3Chart')
}
})
Посмотреть:
Blocks.LetsseeView = Ember.View.extend({
templateName: 'letssee',
drawChart: function () {
console.log(this.get("controller.content"))
console.log(this.get("controller.model"))
}.on("didInsertElement")
})
И я использую неявное объявление контроллера. Вот результаты результатов оператора журнала, которые вызываются на didInsertElement. ( http://imgur.com/E74see7)
Теперь проблема сводится к извлечению контента из контроллера. Внутри содержимого контроллера длина 0. Модель существует, хотя и имеет контент. Но данные в первом элементе контента не определены. Однако свойство _data определено и содержит нужные мне данные. Я не хочу использовать значения _data, потому что это нетронутые копии хранилищ данных ember, и я не хочу их портить. Как правильно установить и извлечь содержимое из маршрута внутри контроллера / представления? Есть что-то, что я не делаю правильно?
1 ответ
Обходной путь, который я сделал, использовал содержимое, найденное в модели. И хотя при регистрации объекта данные не определены, и все данные хранятся в _data для объекта модели, вызов.get("data") для объекта возвращает ожидаемые результаты.
this.get("controller.model.content")[0].get("data")