2016-08-29 9 views
0

jsonファイルを介してルートにデータを渡そうとしています。jsonデータをエバールータに渡します。

アプリ/テンプレート/ dashbord.js

{{line-chart data=model}} 

アプリ/路線/ dashboard.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 

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

公共/ app1.json

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

このようなことをしようとしているときに、ブラウザに何も表示されない理由は何ですか?ありがとうございます。

+0

あなたの折れ線グラフコンポーネントについて詳しく知りません。ブラウザの[ネットワーク]タブにデータの読み込みが表示されますか? Ember Inspectorはそのルートに役立つ何かを示していますか?また、あなたのルートでエイリアスを行っていない限り、jQueryの$はグローバル名前空間になく、Emberを実行する必要があります。$。getJSON。それについて間違っているかもしれません。そうであれば、コンソールにエラーが表示されます。 –

+0

ファイルの静的データを使用している場合は、指定されたデータでファイルをインポートするだけではどうですか。何もない非同期(アヤックスの必要はありません) –

+0

ちょうど今のところ、私は静的なデータをしようとしています。私はライブデータを取ってグラフでそれを表現する必要があります。このチャートの場合、私はアドオン "ember install ember-google-charts"をインストールしました。私はこのリンクをフォローしましたhttp://sir-dunxalot.github.io/ember-google-charts/chart-types/line – lahari

答えて

0

Emberが約束としてそれを理解するためにまとめてください。例:

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

私は上記のコードをテストしませんでした。しかし、私はこのようなものを使っていました。 the documentation from Emberthe documentation from jQueryをご覧ください。

もう1つ、この約束のコードをサービスとしてラップして、アプリケーション全体から使用できるようにしました。

関連する問題