2017-09-07 18 views
0

私は日付を保存し、別のページでそれを取得するために、角でサービス$sessionStorageを使用しています。 (私はSPAを使用しています)。更新後にフォームサービスが削除されるのを防ぐにはどうすればよいですか?

私は、ページ内のデータを完全に得ることができますが、私はページを更新すると、サービスからのデータが削除されます。

なぜ角度がサービスからデータを削除するのですか?そして、私はページをリフレッシュした後、それを pにするために何をするべきですか?

ありがとうございます。クッキーを使用すると、「ワイド」ソリューションではありませんかどうか

+1

あなたのコードの例がありますか?それはあなたの角のページを爽やかにして、そこにあったすべてのデータを失っているようです。 Angularはページをリフレッシュするべきではありません(リフレッシュ)、内部のオブジェクトを更新する必要があります。別のページを表示するには、stateProviderを使用してStateを変更する必要があります。ui-router 4の例)。 とにかく、ページ間の情報を保持する必要がある場合は、クッキーを使用します。これは、htmlセッション間でデータを保存する方法です。 サービスは、データをデータベースに格納するために使用されます(データを格納する対応するサーバー側コードと通信します)。 –

+0

@AlejandroTeixeiraMuñozこれは一般的な質問で、私はサービス内の変数としてオブジェクトを作成し、その中にいくつかの値を挿入したので、コードを表示しませんでした – zb22

+0

この変数は、セッションが終了したために失われています。 (リフレッシュするとき)これを達成するにはクッキーまたはデータベースが必要です。 –

答えて

0

クッキーSOLUTION

、それがサーバーやデータベースなしであなたの 質問を解決することができます。

ユーザーがインターネット一時ファイルを空にした場合、データが消去されます、または終了日が

最初に到着した際にクッキーが、データは永久に消去されますされていない場合、あなたはngCookiesをインポートする必要があることに注意してください

<script src="path/to/angular.js"></script> 
<script src="path/to/angular-cookies.js"></script> 
:その後、あなたの角度アプリ

bower install angular-cookies --save 

に、角度クッキースクリプトをインポートすることを忘れないでください

そして、依存関係を追加します。その後

angular.module('app', ['ngCookies']); 

を、あなたが角度からngCookiesメソッドを呼び出し、その後、クッキーに保存されたデータを保存し、復元することができるようになります:

例angularJS APIに:

angular.module('cookiesExample', ['ngCookies']) 
.controller('ExampleController', ['$cookies', function($cookies) { 
    // Retrieving a cookie 
    var favoriteCookie = $cookies.get('myFavorite'); 
    // Setting a cookie 
    $cookies.put('myFavorite', 'oatmeal'); 
}]); 

希望します。

とにかく、あなたが実際にユーザーから情報を保存したい場合は、DBを使用してサーバー側をインストールすることは正しい ソリューションにする必要があります。

1

基本的に、ページのリフレッシュ、角度のリロード、サービスのリロード、およびすべてのデータが失われた場合、これはJavaScriptの通常の動作です。

基本的には最初から始めているようです。必要なのは、リロード時にデータを保持する方法であり、たとえばローカルストレージのようなものを使用してデータを保持したり取得したりすることができます。

は、いくつかの例については、このを見てください:

Storing Objects in HTML5 localStorage

関連する問題