2017-08-15 51 views
0

我正在使用一些常見問題解答頁面,我正在使用angular localstorage保存數據。 然後,我將所有文件上傳到服務器,與其他人共享。 當我這樣做時,我放棄了數據,並得到它。這是我第一次上傳,所以它不能在那裏。然後我插入一些數據,並且它工作正常,即使我關閉瀏覽器並再次打開它,我的數據也在那裏。上傳新頁面時丟失了AngularJs Localstorage數據

但是當我再次上傳我的.html文件到服務器時,我再次鬆開它。這是相同的網址,相同的HTML頁面,但一些角度localstorage類中的數據如何重新設置。

我是新角度,我第一次使用localstorage。我已經搜索這個問題,但沒有找到任何提示。

如何將數據保存在localstorage中?

我的角模塊中的代碼是:

變種應用= angular.module( 'WikiCTTXApp',[ 'ngSanitize', 'ngStorage']);

app.controller( 'InfoInterController',函數($範圍,$的localStorage,sessionStorage的$){

$scope.$storage = $localStorage; 

    $scope.InfoInter = $localStorage.InfoInter; 

    $scope.newInfoInter = {}; 

    $scope.addInfoInter=function(){ 
     /* AD(added later): I added this line to test and initialize the variable and my issue disapeard */ 
     if (typeof($scope.InfoInter) == 'undefined'){$scope.InfoInter=[]}; 

     $scope.InfoInter.push($scope.newInfoInter); 
     $scope.newInfoInter = {}; 
     $scope.save(); 
    }; 

    $scope.remove = function(item) { 
     var index = $scope.InfoInter.indexOf(item); 
     $scope.InfoInter.splice(item, 1);  
    }; 

    $scope.save = function() { 
     $localStorage.InfoInter = $scope.InfoInter; 
    }; 

    $scope.load = function() { 
     $scope.InfoInter = $localStorage.InfoInter; 
    }; 

}); 
+0

請分享一些代碼,您可以在其中獲取''''設置'localStorage'數據。 – Faisal

+0

剛剛添加我的代碼角模塊 –

回答

0

我還沒有遇到的具體情況,但localStorage的是角使用的HTML5功能,而不是Angular本身的功能,因此它依賴於正在使用的瀏覽器和用戶設置的實現 - 您對存儲是否(或存儲多長時間)持久保留沒有太多控制權。一般規則你不應該假設它會在那裏,你應該總是寫你的代碼,以便它處理的情況您的數據不存在。

+0

好的,你會怎麼建議保留我的數據?我只需要一個簡單的方法來將我的常見問題解答保存到服務器中,並自動加載它們,而無需用戶干預,如下載文件或類似的東西。謝謝 –

+0

如果您要將數據存儲在服務器上,那麼localstorage(基於客戶端)絕對是錯誤的地方。我建議你看看把它們存儲在一個json文件中,你可以將它加載到你的客戶端應用程序中 - 或者從後端API提供它們。 – Steveland83

+0

但我在頁面上有一個表單,允許用戶添加新的常見問題解答。我能否將它們保存到服務器上的Json文件中而無需用戶干預?我試圖做到這一點,但只能找到一些例子,暗示下載一個JSON文件到「另存爲」的位置。謝謝 –