当我的应用加载设置默认状态时,我想做一些事情.所以我试图在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))
);
Run Code Online (Sandbox Code Playgroud)
我错了吗?
例如,我想在开始时运行一次watchAction函数,以隐藏尚未调用的UI元素,但是watchAction函数没有$ scope对象,因为它没有被watch方法调用所以我必须把它传递给它,但唉它不可用.
Umu*_*acı 77
app.run(function ($rootScope) {
$rootScope.someData = {message: "hello"};
});
Run Code Online (Sandbox Code Playgroud)
您只能$rootScope注入services并run运行,因为每个child scope都是从其父作用域继承而且是顶级作用域rootScope.因为注入任何范围都是不明智的.仅提供根范围.