微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我想做一些东西,当我的应用程序加载设置认状态。所以我试图在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注入到服务和运行函数,因为每个子作用域都从其父作用域继承,顶层作用域是rootScope。因为注入任何范围是不明智的。仅提供根范围。

原文地址:https://www.jb51.cc/angularjs/145758.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐