AngularJs使用服务中的函数创建模块
我正在创建一个新模块用于我的项目,它是一个购物车。我知道有一些开源的shoppingCart,但由于一些使用限制和公司政策等原因,我需要创建自己的shoppingCart 我可以创造它,一切都正常。我注意到的唯一一件事是使它成为一个真正的模块,我可以在其他项目中使用它。我知道这是有可能实现的,但由于我是AngularJs的新用户,我不知道从现在起如何处理 我的结构是这样的:AngularJs使用服务中的函数创建模块,angularjs,Angularjs,我正在创建一个新模块用于我的项目,它是一个购物车。我知道有一些开源的shoppingCart,但由于一些使用限制和公司政策等原因,我需要创建自己的shoppingCart 我可以创造它,一切都正常。我注意到的唯一一件事是使它成为一个真正的模块,我可以在其他项目中使用它。我知道这是有可能实现的,但由于我是AngularJs的新用户,我不知道从现在起如何处理 我的结构是这样的: angular.module('agCart',[]) .run(['$rootScope','$stateParams'
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创建指令,但无法将其应用于“单击”事件,也无法相互通信,因为购物车在两个阵列上生效:
- 将项目添加到购物车并将新阵列保存在存储器中李>
- 修改产品列表并对该特定产品应用
李>incontat=true
CartCtrl
。我想通过将购物车的模块添加到应用程序的主模块,使购物车可用
例如,现在我有两个项目。其中一个是单一的电子商务,只有一个商店,因此购物车在整个web上是相同的,需要在所有视图中都可以访问
第二个项目是电子商务的结合,它有多个商店,因此每个商店视图都需要有自己的购物车。因此,购物车只需要处理该特定视图
这就是为什么我想让它更具活力。真的不清楚您的具体问题是什么。调用click事件无效的视图代码在哪里?@charlietfl我编辑了我的问题,看看是否有帮助。能否显示您尝试使用的指令?我不太清楚你说的
是什么意思,我试图用这些函数为shoppingCart创建指令,但我无法将其应用于“单击”事件,也无法相互通信,因为购物车在两个阵列上生效我真的不清楚你的具体问题是什么。调用click事件无效的视图代码在哪里?@charlietfl我编辑了我的问题,看看是否有帮助。能否显示您尝试使用的指令?我不太清楚你说的是什么意思,我试图用这些函数为shoppingCart创建指令,但我无法将其应用于“单击”事件,也无法相互通信,因为购物车在2个数组上生效