2016-08-29 4 views
0

Dies wäre einfach, mit regelmäßigen JS/AJAX zu tun, aber ich versuche, dies den Ember Weg zu lernen und zu tun (v2.6):Ember Modell/route/template Setup

Ich habe eine URL /dates und Auf dieser Seite gibt es zwei Kalender. Beim Laden der Seite wird eine Anfrage an den Server gestellt, um das Datum für die Vorauswahl in Kalender 1 abzurufen. Die Antwort sieht gut aus, aber das Datum wird nicht in der Vorlage angezeigt.

/templates/dates.hbs:

Preselect: [{{model.preselect}}] //this is outputting: Preselect: [] 

/routes/dates.js:

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model(){ 
    return this.get('store').findAll('my-date').get('firstObject'); 
    } 
}); 

/models/my-date.js:

import Model from 'ember-data/model'; 
import attr from 'ember-data/attr'; 

export default Model.extend({ 
    preselect: attr() 
}); 

Antwort Server :

{"myDates":{"id":1,"preselect":"2016-10-02"}} 

Es wird später mehr Anfragen für Kalender 2 geben, aber ich bleibe im Kalender 1.

Warum werden die Modelldaten nicht auf der Seite angezeigt? Es gibt keine Fehler im Ember Inspector. Das Modell erscheint im Glut-Inspektor mit den richtigen Daten.

Vielen Dank.

+0

Das hat funktioniert, danke. Setzen Sie als Antwort und ich werde es akzeptieren. –

Antwort

1

findAll wird Versprechen zurückgeben. Damit Sie es nicht direkt verarbeiten können, sollten Sie then verwenden, um das Ergebnis zu verarbeiten.

sollte das folgende funktionieren.

Verwandte Themen