当我的应用程序加载以设置默认状态时,我想做一些事情。所以我试图在 Module 对象上使用 run 方法。当我尝试访问 $scope 变量时,虽然我在控制台中收到“未捕获的 ReferenceError:$scope 未定义”消息。
请参阅以下示例 http://jsfiddle.net/F2Z2X/1/
app = angular.module('myapp', []);
app.controller('mycontroller', function($scope){
$scope.data = { myvariable: 'Hello' };
});
app.run(
alert($scope.data.myvariable))
);
我对这一切都错了吗?
例如,我想在开始时运行一次 watchAction 函数,以隐藏尚未调用的 UI 元素,但 watchAction 函数没有 $scope 对象,因为它没有被 watch 方法调用所以我必须将它传递给它,但可惜它不可用。
最佳答案
app.run(function ($rootScope) {
$rootScope.someData = {message: "hello"};
});
你只能得到
$rootScope
注入(inject)services
和 run
函数,因为每个 child scope
继承自其父作用域,顶级作用域为 rootScope
.因为注入(inject)任何范围都是模棱两可的。仅提供根范围。
关于angularjs - 在 Angular 的 run() 方法中获取 $scope 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371687/