emberJs와 함께 일하는 초보자입니다.Ember Data를 사용하여 데이터를 저장, 검색 및 삭제하는 방법은 무엇입니까?
현재 오프라인 상태에서 이전에 저장 한 데이터에 액세스해야하는 오프라인 기능을 구현하는 단계에 도달 한 엠버 앱을 개발 중입니다.
{{#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');
}
});
이다 : 나는 동안이 URL을 통해 온라인으로 JSON 데이터를 가져 오기 및 데이터 저장소에 저장할 수 있도록
1) 방법 타다 남은 데이터 기능을 구현합니다.
2) 온라인/오프라인 중에 사용자가이 경로로 이동할 때 데이터 저장소에서 데이터를 경로 js 파일로 검색하십시오.
3) 온라인 중에 다시 선택하면 해당 경로에 대한 이전 데이터를 모두 삭제하고 JSON 데이터를 수신하는 URL을 통해 새 데이터를받습니다. 그리고 오프라인에서이 단계를 건너 뛰면됩니다.
나는 오프라인 기능을 구현하기 위해 이미이 응용 프로그램에서 브로콜리 서비스 기술자와 함께 서비스 작업자를 구현했습니다.
IndexedDB 기능을 사용하는 것처럼 오프라인에서 액세스 할 수있는 데이터를 저장하는 방법을 찾지 못했기 때문에 Ember 데이터가 도움이 될 수 있다고 생각합니다.
내 검토 자에게 검토를 요청하는 동안 그는 Ember Data를 broccoli-serviceworker 패키지와 함께 사용하여 Embers Data 라이브러리에 액세스 할 수있는 서비스 작업자를 구성하도록 개인적으로 제안했습니다.
오프라인 호환성이있는 데이터 저장 및 검색과 관련하여 더 나은 옵션이있는 경우 환영합니다.
이 단계별 지침과 솔루션을 제공 마십시오는 내 프로젝트에이 문제를
Github에서의 환매 특약 링크를 해결하기 위해 따라야합니다 : https://github.com/JEEVANJGA/Capstone-News-App이
내가 이해할 수 없다면 사용자가 오프라인에서 인터넷에서 데이터를 가져올 수 있기를 바랍니까? Ember 앱은 사용자 측에만 존재합니다. 일부 데이터를 표시하려면 먼저 사용자 브라우저에 다운로드해야합니다. 사용자 2가 작동하는 유일한 경우는 사용자 1이 Ember 앱을 열고 사물 목록을 봅니다. 2. 인터넷 연결을 끊습니다. 3. 여전히 사물 목록을 볼 수 있으며 오프라인 상태에서 앱 등을 탐색 할 수 있습니다. 그것이 당신이 구현하기 원하는 것입니까? – Senthe
@Senthe 예. 그것이 내가 의미했던 것입니다. 앱은 오프라인 상태가되기 전에 온라인 상태였던 데이터를 표시해야합니다. –