У меня возникла проблема понять, как работать с моделями ember-data в моих представлениях и контроллерах. Я пишу приложение, используя emberjs 1.2.0 + ember-data 1.0.0-beta.2. Я пишу свой собственный RESTAdapter и Serializer для нашего (сумасшедшего) API. Кажется, что все работает нормально - я могу работать с данными модели в моих шаблонах и так далее.Данные Ember: работа с моделью в контроллерах/представлениях
Я попытаюсь объяснить базовую функциональность приложения. Например, у меня есть UserModel с коллекцией пользователей, и у меня есть шаблон для списка пользователей и деталей пользователя, где вы можете редактировать профили и так далее. Там все чисто. Тогда у меня есть еще один вызов модели Местоположение с последним местоположением, связанным с пользователем. Эта модель, которую я использую в своем шаблоне с картами Google, где мне нужно использовать эту модель (в моем mapView) для создания аннотаций на карте. Другим примером является reportModel с дневной статистикой активности пользователя. В этой модели мне нужно построить диаграммы dc.js с этими статистическими данными. Без данных ember-данных я в основном устанавливаю ajaxRequest в крюке модели Route, и я могу указать get данные в моем контроллере или на просмотр. Я пытаюсь использовать этот маршрут для использования данных ember как остальное приложение, но я действительно не знаю, как получить данные модели в представлении или контроллере, когда get ('model') возвращает класс DS.Model.
Немного кода: журнал
App.DashboardRoute = App.AuthenticatedRoute.extend({
model: function() {
return this.store.find('daystat');
},
setupController: function(controller, model) {
controller.set('content', model);
}
});
App.DashboardView = Ember.View.extend({
didInsertElement: function() {
// load model from controller
var model = this.get('controller.content');
console.log(model);
}
});
консоли на приборной панели маршрута:
Class
__ember1391503821834: "ember608"
__ember1391503821834_meta: Meta
_oldWillDestroy: function superWrapper() {
_super: undefined
arrangedContent: (...)
content: (...)
get content: function() {
set content: function (value) {
isLoaded: true
isUpdating: false
store: Class
toString: function() { return ret; }
type: App.Daystat
willDestroy: function superWrapper() {
__proto__: Object
Отдых Serializer журнала до нажатия ответа апи для хранения с данными, которые я точно хочу работать в Dashboard Вид:
[Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, nextObject: function, firstObject: undefined, lastObject: undefined, contains: function, getEach: function…]
Отдельный объект (дата) содержит следующие данные:
date: "2014-01-18"
id: 4
orders_count: 0
orders_sum: 0
sales_count: 0
sales_sum: 0
visits_count: 0
__proto__: Object
Мой вопрос: как я могу работать с моделями Ember-Data в моих взглядах и контроллеров, как я в моих рулей шаблонов?
Я написал приложение для отображения данных ember-data-map-demo с аналогичной логикой: https://github.com/turboMaCk/ember-data-map-demo –