emberJsで働いている初心者です。Ember Dataを使用してデータを保存、取得、削除する方法は?
現在、オフライン時に格納された以前のデータにアクセスする必要があるオフライン機能を実装する段階に達したemberアプリケーションを開発しています。
{{#link-to 'bbc'}}<img src="/assets/images/bbc-news-icon.png" alt="bbc news logo" style="max-width: 150px;min-height:150px;">{{/link-to}}
{{log model}}
{{#each model.articles as |item|}}
<hr>
<div class="panel panel-primary">
<div class="panel-heading"><span class="badge">Title</span>
<h3>{{item.title}}</h3></div>
<div class="panel-body">
<span class="badge">Description</span>
{{item.description}}
</div>
<div class="panel-footer"><span class="badge">URL to News</span>
<a href={{item.url}} target="_blank" role="link" aria-label={{item.title}}> {{item.title}} </a>
</div>
</div>
{{/each}}
{{outlet}}
と上記テンプレートの
次は、対応するルートのjsファイル、ルート/ bbc.js です:コード以下の私のアプリでは、私が使用するテンプレート、テンプレート/ bbc.hbsの一つであります私が知っておくべきこと
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return Ember.$.get('https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=c4ea221e6833496bad7716c6c4fc5ece');
}
});
は次のとおりです。
1)私はオンライン中にこのURLからJSONデータを取得し、データ・ストアに保管することができるように燃えさしデータ機能を実装する方法。
2)ユーザーがオンライン/オフライン中にこのルートに移動すると、データストアからデータをルートjsファイルに取得します。
3)オンラインでもう一度選択した場合は、そのルートの以前のデータをすべて削除し、JSONデータを受け取るURLから受け取った新しいデータを更新します。オフラインでこの手順をスキップするだけの場合
私はすでにこのアプリケーションでブロッコリーサービスマンとサービスワーカーを実装してオフライン機能を実装しています。
IndexedDB機能を使用しているように、オフラインでアクセスできるデータを格納する方法が見つからなかったので、Emberデータが役立つと思います。
私は査読者に尋ねられたが、彼はEmber Dataをbroccoli-serviceworkerパッケージと共に使用して、Embersデータライブラリにアクセスできるサービスワーカーを設定するよう個人的に勧めました。
オフラインの互換性を持つデータの保存と取得に関して、より良いオプションがある場合は、その歓迎です。
ているステップバイステップのインストラクションとの溶液を得たようにしてくださいは、私のプロジェクトにこの問題に
のGithubレポのリンクを解決するために従うべき:https://github.com/JEEVANJGA/Capstone-News-Appは
私が理解できればわかりません - あなたは、オフライン(2点目)中にインターネットからデータを引き出すことができますか? Emberアプリはユーザー側にのみ存在します。いくつかのデータを表示できるようにするには、最初にユーザーのブラウザにダウンロードする必要があります。あなたのポイント2が動作する唯一のケースは、ユーザー1. Emberアプリケーションを開いて、物事のリストを見るときです。2.インターネットを切断します。3.まだ物事のリストを見ることができ、オフラインでアプリケーションなどをナビゲートします。それはあなたが実装したいことですか? – Senthe
@Sentheはい。それが私の言いたいことです。 アプリケーションは、オフラインになる前にオンライン状態であったデータを表示する必要があります。 –