AngularJs使用服务中的函数创建模块

AngularJs使用服务中的函数创建模块,angularjs,Angularjs,我正在创建一个新模块用于我的项目,它是一个购物车。我知道有一些开源的shoppingCart,但由于一些使用限制和公司政策等原因,我需要创建自己的shoppingCart 我可以创造它,一切都正常。我注意到的唯一一件事是使它成为一个真正的模块,我可以在其他项目中使用它。我知道这是有可能实现的,但由于我是AngularJs的新用户,我不知道从现在起如何处理 我的结构是这样的: angular.module('agCart',[]) .run(['$rootScope','$stateParams'

我正在创建一个新模块用于我的项目,它是一个购物车。我知道有一些开源的shoppingCart,但由于一些使用限制和公司政策等原因,我需要创建自己的shoppingCart

我可以创造它,一切都正常。我注意到的唯一一件事是使它成为一个真正的模块,我可以在其他项目中使用它。我知道这是有可能实现的,但由于我是AngularJs的新用户,我不知道从现在起如何处理

我的结构是这样的:

angular.module('agCart',[])
.run(['$rootScope','$stateParams','factCart', function ($rootScope,$stateParams,factCart) {
    // ... some other run - not so important..\\
}])

.factory('factCart', ['localStorageService', function (localStorageService) {
    var _getCache = function() {
        return JSON.parse(localStorageService.get("cart"));
    };

    return {
        getCache: _getCache
    };

    //... some other factories ...\\
}])

.controller('CartCtrl',
['$rootScope','$scope','$stateParams',...[more]...,
function($rootScope,$scope,$stateParams,...[more]...) {
    $scope.addItem = function(event) {
        //code to add item
    };

    $scope.removeItem = function(event) {
        //code to remove item
    };

    //... more code ...\\
}]);
如您所见,我使用所有的函数从控制器内部使购物车工作,我知道这不是正确的方法。但那正是我怀疑的时候

如何创建指令或服务以作为这些$scope函数工作? 我尝试使用这些函数为shoppingCart创建指令,但无法将其应用于“单击”事件,也无法相互通信,因为购物车在两个阵列上生效:

  • 产品列表-创建图表中项目的视觉反馈
  • shoppingCart列表本身,用于填充并保存在用户缓存中 例如,当我点击“添加项目”按钮时,它将执行两个主要功能

    • 将项目添加到购物车并将新阵列保存在存储器中
    • 修改产品列表并对该特定产品应用
      incontat=true
    编辑: 我想这样做的主要原因是因为现在我需要在我想要使用它的视图上指定
    CartCtrl
    。我想通过将购物车的模块添加到应用程序的主模块,使购物车可用

    例如,现在我有两个项目。其中一个是单一的电子商务,只有一个商店,因此购物车在整个web上是相同的,需要在所有视图中都可以访问

    第二个项目是电子商务的结合,它有多个商店,因此每个商店视图都需要有自己的购物车。因此,购物车只需要处理该特定视图


    这就是为什么我想让它更具活力。

    真的不清楚您的具体问题是什么。调用click事件无效的视图代码在哪里?@charlietfl我编辑了我的问题,看看是否有帮助。能否显示您尝试使用的指令?我不太清楚你说的
    是什么意思,我试图用这些函数为shoppingCart创建指令,但我无法将其应用于“单击”事件,也无法相互通信,因为购物车在两个阵列上生效
    我真的不清楚你的具体问题是什么。调用click事件无效的视图代码在哪里?@charlietfl我编辑了我的问题,看看是否有帮助。能否显示您尝试使用的指令?我不太清楚你说的
    是什么意思,我试图用这些函数为shoppingCart创建指令,但我无法将其应用于“单击”事件,也无法相互通信,因为购物车在2个数组上生效