Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 $rootScope.$watchCollection不工作_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript $rootScope.$watchCollection不工作

Javascript $rootScope.$watchCollection不工作,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我试图在代码中使用$rootScope.$watchCollection从控制器A更新控制器B中的数据。但我在这方面没有取得任何成功。由于我的应用程序在这一点上被卡住了,所以我正在寻求您的帮助,这样我就可以知道我在代码中哪里出错了 控制器B:- 应用程序控制器'MenuCtrl',函数$scope,本地存储,$stateparms, $rootScope{ $scope.user={}; $scope.user.userName=LocalStorage.getDatauserName; $s

我试图在代码中使用$rootScope.$watchCollection从控制器A更新控制器B中的数据。但我在这方面没有取得任何成功。由于我的应用程序在这一点上被卡住了,所以我正在寻求您的帮助,这样我就可以知道我在代码中哪里出错了

控制器B:-

应用程序控制器'MenuCtrl',函数$scope,本地存储,$stateparms, $rootScope{ $scope.user={}; $scope.user.userName=LocalStorage.getDatauserName; $scope.user.profilePic=LocalStorage.getDatauserProfile; $rootScope.$watchcollectionfunction n,o{ 如果n!==o{ var list=$rootScope.wholecartList; alertLength+list.length; } };
}; 在此之后,您需要更新$rootScope,比如说,运行apply循环

app.controller'ProductCtrl',函数$http、$scope、$ionicPopup、$state, $ionicHistory、$ionicLoading、数据服务、本地存储、$stateParams、, ProductId,重复检查,$rootScope{ $scope.productList=DataService.getProducts; $scope.getProductId=functionproductId{ ProductId.addProductIdproductId; $state.goapp.products-details; } var cartList=[]; $scope.cartListItems=functionproduct{ 如果cartList.length>0{ if!DuplicateCheck.getProductsproduct.product\u id,cartList{ cartList.pushproduct; } }否则{ cartList.pushproduct; } $rootScope.wholecartList=cartList; 更新光学镜; } 函数更新示波器{ 如果!$rootScope.$$phase{ $rootScope.$apply; } }
};您需要添加更多的代码——目前还不清楚调用什么以及何时调用。但是,$rootScope.$watchCollectionfunctionn,o{if n!==o{嘿,petr,谢谢你的回答,但我真的不明白你的意思..你清楚我的问题吗…我只想在菜单html中显示计数,列表将从productCtrl传递,此列表包含用户选择的项目数,因此我只想在menu.html文件中的购物车图像的ui中显示计数。嘿,iLoveJS,谢谢你的回复,在输入你的代码后,我得到了白色屏幕。还有其他问题吗?或者这是预期的页面吗?没有,除了这个问题,没有其他问题。我只是尝试在产品Html中的每个按钮点击时将列表发送给控制器B,以便我可以显示菜单Html上的计数,cartlist包含多少项ns.此外,当我试图使用alert打印值时,它会显示未定义的值,即alert$rootScope.wholecartList;。它将显示未定义的值。首先:从html中,您可以获得长度为:{{$root.wholecartList.length}或