我花了更多的时间来承认试图解决这个问题,无论我尝试什么方法,我似乎都无法忍受。我在.peb.html文件中设置了一个变量和一个相应的角度模块。如下所示:
<script type="text/javascript">
var globalVisit = {*visit*};
var cart = {*cart*}
</script>
在角度模块中我有两个提供者定义如下。
buyModule.service('visit', ($window) => {
return $window.visit;
});
buyModule.service('cart', ($window) => {
return $window.cart;
});
和控制器定义如下:
buyModule.controller('BuyCtrl', ($window, $scope, visit, cart) => {
$scope.visit = visit;
$scope.cart = cart;
}));
该文件还有很多内容,但与问题无关。我的问题是,虽然访问似乎是通过提供程序购物车加载正常似乎被覆盖/丢失其在控制器中的值。我调试了语句,在buyModule.service('cart',($ window)=&gt;部分,$ window.cart有一个值集,但是当我试图通过控制器时它就消失了。有谁知道我是什么我在这里做错了正在为访问工作的车吗?这令人非常沮丧,因为据我所知他们处理完全相同但结果不同。我使用的是角1.x.
答案 0 :(得分:0)
嘿,你做得正确,请在初始化之前检查脚本是否已定义。 像:
// global variable outside angular
var variable1 = true;
var app = angular.module('myapp', []);
app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
$scope.variable1 = $window.variable1;
}]);