angularjs - 在 Angular 的 run() 方法中获取 $scope 对象

标签 angularjs

当我的应用程序加载以设置默认状态时,我想做一些事情。所以我试图在 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)servicesrun函数,因为每个 child scope继承自其父作用域,顶级作用域为 rootScope .因为注入(inject)任何范围都是模棱两可的。仅提供根范围。

关于angularjs - 在 Angular 的 run() 方法中获取 $scope 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17371687/

相关文章:

javascript - Angular+Jquery - 编程表单提交导致重定向

angularjs - ngMock 将 $scope local 注入(inject) Controller

javascript - 如何在 Angular.js 中移动到下一步或上一步?

angularjs - Angular +选择: selected values

mvvm - 如何在 AngularJS View 中实现条件逻辑

javascript - 未从 Angular Directive(指令)触发输入的更改事件

javascript - 在同一 DOM 上使用多个 Angular.js Controller

angularjs - 您可以记录 Angular 数据绑定(bind)错误吗?

angularjs - 使用 UI-Router 使用多个 View 的空白页面

angularjs - 如何使用 angularjs 动态填充 select2 数据