如何在angularjs中传递全局值?

时间:2015-02-10 18:59:53

标签: angularjs

我正在构建一个基于angularjs的网络应用程序。我在标题中包含了ajax加载程序。我已经为登录和注册实现了bootstrap模式。每个模态都有自己的控制器。我无法在标头中打开和关闭ajax加载程序的值。我想实现某种全局值,可以在整个ng-app范围内访问。

3 个答案:

答案 0 :(得分:1)

使用 $ rootScope ,您可以实现此目的:

在主窗口中设置全局变量:

function MyMainWindow($scope, $rootScope) {
$rootScope.name = 'Root Variable'; }

模态窗口读取全局变量:

function MyModalWindow($scope, $rootScope) {
$scope.name2 = $rootScope.name; }

使用{{name2}}

调用根文件夹

希望这会有所帮助:)

答案 1 :(得分:0)

您可以为$ rootScope指定一个值,或者您可以将您的值设为AngularJS工厂/服务的属性。

答案 2 :(得分:0)

如果您愿意使用以下内容,则可以向$ rootScope添加值:

angular.module('myApp', [])
    .run(function($rootScope) {
        $rootScope.key = val;
});

但是你应该尽可能避免使用全局变量。有时你需要使用它们,但有时候它的症状是你的应用程序可以用不同的,更好的方式构建。对于此实例,您可以创建一个应用于标头的指令。