如何从一个控制器中刷新另一个控制器的计数器值
how to refresh counter value of one controller from another angularjs
我有一个购物车计数器,这是在头部控制器。添加到购物车按钮在图像视图控制器中。我想从图像视图控制器设置购物车计数器。所以每次点击添加到购物车时,它都会改变购物车的值。
头部控制器:
decorpotCtrls.controller('DecorpotCtrl', [ '$scope', '$routeParams', 'cart',
function($scope, $routeParams, cart) {
$scope.cartCounter = cart.getCartCounter();
} ]);
图像控制器:-
decorpotCtrls.controller('ImageViewController', [
'$scope',
'$routeParams',
'imageView',
'$auth',
'cart',
function($scope, $routeParams, imageView, $auth, cart) {
$scope.addToCart = function(groupid) {
console.log($auth.isAuthenticated());
return cart.addToCart(groupid);
};
} ]);
购物车Html: -
<i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i> Cart({{cartCounter}})
从图像控制器添加购物车-
<div id="addToCart" class="btn btn-primary btn-lg buyNCartButton" ng-click="addToCart(groupid)">Add To Cart</div>
购物车服务-
services.service('cart', function($http){
var counter =0 ;
sessionStorage.setItem('cartCounter', counter);
//var
return {
checkout : function(){
},
addToCart : function(gruopid){
counter++;
return counter;
},
getCartCounter : function(){
return counter;
}
};
});
你可以像
那样设置$scope.cartCounter
的方法引用$scope.cartCounter = cart.getCartCounter;
然后在HTML上,你可以调用像cartCounter()
这样的方法,它将对每个摘要进行评估。
<i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i>
Cart({{cartCounter()}})
在控制器中使用$rootScope。所有的$scope都是$rootScope的子域。
decorpotCtrls.controller('ImageViewController', [
'$rootScope',
'$scope',
'$routeParams',
'imageView',
'$auth',
'cart',
function($scope,$rootScope, $routeParams, imageView, $auth, cart) {
$scope.addToCart = function(groupid) {
$rootScope.counter++;
console.log($auth.isAuthenticated());
return cart.addToCart(groupid);
};
} ]);
相关文章:
- 如何在用户更新AngularJs中的控制器时刷新$state
- AngularJS控制器没有'第一次刷新页面后无法工作
- 控制器作用域变量在刷新之前未加载
- 将参数从 JavaScript 中的剑道窗口刷新传递给控制器操作
- 在 AngularJS 中,用于选择不同控制器的选项 - 如何刷新
- 引导选项卡上的 MVC 单击重新加载控制器并刷新
- 选择时获取下拉值,并将其传递给控制器,而无需刷新页面
- 除非刷新,否则 AngularJS 不会运行控制器
- AngularJS - 如何及时刷新控制器属性
- 离子和角度 - 从控制器更新/刷新视图
- 视图/控制器不会使用 push() 函数刷新,使用 angularjs 中的 socket.io
- 刷新AngularJS中的控制器
- Angularjs-在路由更改时刷新控制器作用域
- Ionic-从控制器强制刷新动画
- Jquery窗口.刷新页面时控制器动作后调用的卸载事件
- 两个控制器,共同的工厂和重复刷新
- 如何在余烬中刷新控制器属性
- 自动刷新控制器和视图
- Angular js-控制器只在页面刷新时加载
- 刷新页面时保存控制器状态