2016-05-31 95 views
-1

我有一個項目是關於一個購物清單的工作,並且是以這樣一種方式製作的,即用戶輸入他想添加的項目,並且每當他添加項目時顯示他已將某個特定產品不要忘記他有能力從列表中刪除任何產品。但是,當我從來沒有重新加載頁面會顯示爲空,即使我已經添加了一些項目previously..this是代碼AngularJs:在angularJs本地保存數據

var app = angular.module("shoppingList",[]); 
     app.controller("myCtrl",function($scope){ 
      $scope.goods = [] 

      var taskData = localStorage() 


      $scope.addItem = function(){ 
       $scope.errorText = ""; 
       if(!$scope.addNew){return;} 
       if($scope.goods.indexOf($scope.addNew) == -1){ 
         $scope.goods.push($scope.addNew); 
       }else{ 
        $scope.errorText = "The Item is already in your shopping list" 
       } 

      }; 

      $scope.removeItem = function(x){ 
       $scope.errorText = "" 
       $scope.goods.splice(x,1); 
      } 

     }) 
+0

嘗試http://stackoverflow.com/a/14266748/5689728,這可能幫助 –

+0

您需要提供更多的信息。什麼是$ scope.addNew?您是否嘗試將列表保存到localStorage? – Seonixx

+0

上午將它保存到陣列貨物 – olajide

回答

0

這是您的應用程序使用https://github.com/gsklee/ngStorage一個好主意,因爲它可以讓你使用localStorage的角度的方式。所以用ngStorage重寫代碼:

var app = angular.module("shoppingList",['ngStorage']); 
    app.controller("myCtrl",function($scope,$localStorage){ 
     $scope.goods = $localStorage.goods || []; 

     var taskData = localStorage() 


     $scope.addItem = function(){ 
      $scope.errorText = ""; 
      if(!$scope.addNew){return;} 
      if($scope.goods.indexOf($scope.addNew) == -1){ 
        $scope.goods.push($scope.addNew); 
        $localStorage.goods.push($scope.addNew); 
      }else{ 
       $scope.errorText = "The Item is already in your shopping list" 
      } 

     }; 

     $scope.removeItem = function(x){ 
      $scope.errorText = "" 
      $scope.goods.splice(x,1); 
      $localStorage.goods.splice(x,1); 
     } 

    }) 

希望這對你的作品

+0

是的,它工作謝謝 – olajide