Я успешно установил Ember CLI и Firebase, и я пытаюсь привести некоторые базовые данные в свои шаблоны. Мои данные «title» и «subtitle» очевидны в Ember Inspector, а также в моей панели инструментов Firebase. Однако {{foo.title}}
и {{foo.subtitle}}
возвращаются пустым и неопределенным в браузере. Почему это? Вот мой код:Почему данные Firebase не отображаются должным образом в моем выпуске Ember CLI?
application.js (адаптер)
import DS from 'ember-data';
export default DS.FirebaseAdapter.extend({
firebase: new window.Firebase('https://<firebase-database-name>.firebaseio.com/')
});
foo.js (модель)
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
subtitle: DS.attr('string')
});
index.js (контроллер)
import Ember from 'ember';
export default Ember.Controller.extend({
model: function() {
var titles = this.store.createRecord('foo', {
title: 'Title',
subtitle: 'Subtitle'
});
titles.save();
}
});
index.js (маршрут)
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.findAll('foo');
}
});
application.hbs (шаблон)
<h2 id='title'>{{foo.title}}</h2>
{{outlet}}
index.hbs (шаблон)
<h1>{{foo.title}}</h1>
<h3>{{foo.subtitle}}</h3>
Название и подзаголовок не отображаются в шаблонах.
На вкладке «Умный инспектор просмотра дерева» отображается «индекс» с «DS.RecordArray: ember368» для модели.
Вкладка «Данные Ember Inspector Data» показывает тип модели «foo» с # Записью 1. Когда я нажимаю на эту запись, она отображает значения идентификатора Firebase, названия и субтитров. Когда я осмотреть мой Firebase URL данных, я вижу следующую структуру:
firebase-database-name
|— foos
|— JU1Ay8emCNNZBeqYoda
|— subtitle: "Subtitle"
|— title: "Title"
Кажется, все правильно, но шаблоны не отображают значения данных. Спасибо за любую помощь.
Вы URL-адрес указывает на веб/данные, но коллекция находится в данных/foos/... – Kato
Спасибо @Kato, но это не проблема. Я обновил схему url данных Firebase выше, чтобы уточнить, что «web» является родителем данных, чтобы отражать конечную точку для адаптера Firebase. – jacefarm