gpt4 book ai didi

javascript - AngularJS $rootScope 变量存在,但无法访问

转载 作者:行者123 更新时间:2023-11-28 19:49:02 25 4
gpt4 key购买 nike

我在一个模块中设置了一个 $rootScope 变量,现在想要在另一个模块中访问相同的 $rootScope 变量。到目前为止,我可以看到在两个模块中变量都已正确设置,但是当我尝试访问 $rootScope 中的变量时,我只得到未定义的结果。

如何在不执行工厂/服务解决方法的情况下访问此变量?该变量非常简单, $rootScope 应该足以满足我的需要。我在下面放置了一些通用示例代码来说明该问题:

文件1.js

var app = angular.module('MyApp1', []);

app.controller('Ctrl1', ['$scope', '$rootScope', function($scope, $rootScope) {
$scope.myFunc = function() {
$rootScope.test = 1;
}
}

文件2.js

var app = angular.module('MyApp2', []);

app.controller('Ctrl2', ['$scope', '$rootScope', function($scope, $rootScope) {
$scope.need_to_access_this = $rootScope.test; // undefined
console.log($rootScope); // returns JS object w/ test property set to 1
}

最佳答案

当我发现您在 Controller 或服务加载之前为 $rootScope 定义了这些属性时,我陷入了同样的问题。所以我所做的是在应用程序运行时设置初始值。在你的情况下,它会像:

app.run(function($rootScope){
$rootScope.test="variable";
})

`

关于javascript - AngularJS $rootScope 变量存在,但无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23814190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com