Javascript 如何从另一个angularjs刷新一个控制器的计数器值
我有一个购物车计数器,它位于页眉控制器中。以及图像视图控制器中的“添加到购物车”按钮。我想从图像视图控制器设置购物车计数器。因此,每次单击“添加到购物车”时,它都会更改购物车的值 标题控制器:Javascript 如何从另一个angularjs刷新一个控制器的计数器值,javascript,angularjs,angularjs-scope,angularjs-service,angularjs-controller,Javascript,Angularjs,Angularjs Scope,Angularjs Service,Angularjs Controller,我有一个购物车计数器,它位于页眉控制器中。以及图像视图控制器中的“添加到购物车”按钮。我想从图像视图控制器设置购物车计数器。因此,每次单击“添加到购物车”时,它都会更改购物车的值 标题控制器: decorpotCtrls.controller('DecorpotCtrl', [ '$scope', '$routeParams', 'cart', function($scope, $routeParams, cart) { $scope.cartCounter = car
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}})
在控制器中使用$rootScope。所有$scope都是$rootScope的“child”
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);
};
} ]);
您可以做一件事,将方法引用设置为
$scope.cartCounter
如下
$scope.cartCounter = cart.getCartCounter;
然后在HTML上,您可以调用该方法,如cartCounter()
,该方法将在每个摘要上进行计算
<i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i>
Cart({{cartCounter()}})
购物车({{cartCounter()}})
但是如果我说addToCart(),这会刷新计数吗???@user2696466是的,会。你为什么不试试?太棒了。。。它起作用了。仍在学习$scope的魔法。谢谢Pankaj@user2696466很高兴来到这里..谢谢:)@jbnite感谢你的帮助,兄弟评论..非常感谢。快乐编码…)
$scope.cartCounter = cart.getCartCounter;
<i class="glyphicon glyphicon-shopping-cart" aria-hidden="true"></i>
Cart({{cartCounter()}})