2016-05-31 97 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