2016-08-29 5 views
0

Ich versuche, Daten über eine JSON-Datei an die Route zu übergeben.Weitergabe von JSON-Daten an einen Ember-Router

app/templates/dashbord.js

{{line-chart data=model}} 

app/Routen/dashboard.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 

    model() { 
    return $.getJSON("app1.json"); 
}, 
}); 

public/app1.json

[ 
    ['Task', 'Hours per Day'], 
    ['Work', 11], 
    ['Eat', 2], 
    ['Commute', 2], 
    ['Watch TV', 2], 
    ['Sleep', 7], 
]; 

Wenn ich versuche, so zu tun, wird keine Ausgabe im Browser angezeigt warum? danke im voraus.

+0

schwer zu wissen, ohne mehr über Ihre Liniendiagrammkomponente zu wissen. Zeigt die Netzwerkkarte in Ihrem Browser das Laden der Daten an? Zeigt der Ember Inspector etwas hilfreiches für diese Route? Außerdem bin ich mir ziemlich sicher, dass jQuerys $ nicht im globalen Namespace ist und Sie Ember. $. GetJSON tun müssen, wenn Sie nicht Aliasing in Ihrer Route durchgeführt haben. Könnte aber falsch sein und Sie würden einen Fehler in Ihrer Konsole sehen, wenn das der Fall ist. –

+0

Wenn Sie statische Daten aus einer Datei verwenden, importieren Sie einfach die Datei mit den angegebenen Daten. Es gibt nichts async (keine Notwendigkeit für Ajax) –

+0

Nur für den Moment versuche ich mit statischen Daten ich muss die Live-Daten nehmen und es in der Grafik darstellen. Für diese Charts habe ich das Addon "ember install ember-google-charts" installiert. Ich habe diesen Link http://sir-dunxalot.github.io/ember-google-charts/chart-types/line – lahari

Antwort

0

Wickeln Sie es für Ember, um es als ein Versprechen zu verstehen. Wie zum Beispiel:

model(){ 
    return new Ember.RSVP.Promise(function(resolve, reject){ 
     Ember.$.getJSON("app1.json") 
     .done(function(json) { 
      resolve(json); 
     }) 
     .fail(function(jqxhr, textStatus, error) { 
      reject(); 
     }) 
    }); 
} 

Ich habe den obigen Code nicht getestet. Aber ich habe es so benutzt. Betrachten Sie the documentation from Ember und the documentation from jQuery.

Noch eine Sache, wickelte ich diesen Versprechen Code als Service, so dass ich es aus der ganzen Anwendung verwenden kann.

Verwandte Themen