Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular js中切换到其他视图时获取购物车值_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在angular js中切换到其他视图时获取购物车值

Javascript 如何在angular js中切换到其他视图时获取购物车值,javascript,angularjs,Javascript,Angularjs,嗨,我正在开发一个购物车项目 它有不同的类别 每个类别都有不同的产品 当我从特定类别向购物车添加产品时,它会被添加 当我返回并将另一个产品添加到同一类别的购物车时,它被正确地添加,并且上一个产品也显示得很好 但是,当转到另一个类别并将产品添加到购物车时,购物车页面将清除所有以前的产品,并且不显示任何以前的产品 如何解决此问题并维护添加到购物车中的产品,而无需在整个项目中清除 我没有使用任何服务来维护它,我只想在angularjs中维护它在angular摘要周期内,只有两种方法可以保存所有angu

嗨,我正在开发一个购物车项目

它有不同的类别

每个类别都有不同的产品

当我从特定类别向购物车添加产品时,它会被添加

当我返回并将另一个产品添加到同一类别的购物车时,它被正确地添加,并且上一个产品也显示得很好

但是,当转到另一个类别并将产品添加到购物车时,购物车页面将清除所有以前的产品,并且不显示任何以前的产品

如何解决此问题并维护添加到购物车中的产品,而无需在整个项目中清除


我没有使用任何服务来维护它,我只想在angularjs中维护它

在angular摘要周期内,只有两种方法可以保存所有angular应用程序中的数据

    1--$rootScope(not recommended)
    2--using Angular Services
因为你的评论,当你说 “我没有使用任何服务来维护它,我只想在angularjs中维护它” 您正在参考第三方或后端服务。Angular有自己的一套服务,您也可以使用,即Cookie服务、存储服务或您可以使用自己的送货车服务,这是您的建议,建立您的购物卡服务,处理您的所有操作并跟踪您的数据。Angular services是应用程序的单例对象,允许它们持久化数据。创建服务真的很简单,你可以这么说

app.service('myservice',['$rootScope','$http','$timeout',function($rootScope,$http,$timeout){
    //$rootscope useful if you want to broadcast events to the app
    //$http useful if you want to update based on the users selection or deletion
    //$timeout useful if you want to set time based alerts or expirations
    var storage={};
    return{
       insert:function(item){/*logic to insert an item into storage*/},
       remove:function(id){/*logic to remove an item from storage*/},
       get:function(id){/*logic to get all items*/}
    }
}])
使用服务的控制器 使用控制器的视图
  • {{item}} 添加

像这样的事情可能会让你明白一些。您使用的是哪种生成器/模板项目?

你好,Dayan,谢谢您提供的信息。我刚开始学习角js。你能提供一个服务的示例应用程序来完全理解它吗
app.Controller('Category1ItemsController',['myservice',function(myservice){
        $scope.items=[1,2,3,4,5,6]
        $scope.appendItem=function(item){
             myservice.insert(item);
        }
}]);
<ul ng-controller="Category1ItemsController">
  <li ng-repeat="item in items">
     {{item}}
     <button ng-click="appendItem(item)">Add</button>
  </li>
</ul>