如何在angularjs中传递全局值?
我正在构建一个基于angularjs的web应用程序。我已经在标题中包含了ajax加载程序。我已经为登录和注册实现了引导模式。每个模态都有自己的控制器。我无法在标题中获得ajax加载程序的开和关值。我想实现某种全局值,它可以在整个ng应用程序范围内访问。您可以为$rootScope分配一个值,或者您可以将您的值作为AngularJS工厂/服务的属性。如果您符合以下条件,您可以向$rootScope添加值:如何在angularjs中传递全局值?,angularjs,Angularjs,我正在构建一个基于angularjs的web应用程序。我已经在标题中包含了ajax加载程序。我已经为登录和注册实现了引导模式。每个模态都有自己的控制器。我无法在标题中获得ajax加载程序的开和关值。我想实现某种全局值,它可以在整个ng应用程序范围内访问。您可以为$rootScope分配一个值,或者您可以将您的值作为AngularJS工厂/服务的属性。如果您符合以下条件,您可以向$rootScope添加值: angular.module('myApp', []) .run(function
angular.module('myApp', [])
.run(function($rootScope) {
$rootScope.key = val;
});
但是您应该尽可能避免使用全局变量。有时你需要使用它们,但有时这是一个症状,你的应用程序可以建立一个不同的,更好的方式。对于此实例,您可以创建应用于标头的指令。使用$rootScope可以实现以下目的: 在主窗口中设置全局变量:
function MyMainWindow($scope, $rootScope) {
$rootScope.name = 'Root Variable'; }
模态窗口读取全局变量:
function MyModalWindow($scope, $rootScope) {
$scope.name2 = $rootScope.name; }
使用{{name2}调用根文件夹
希望这有帮助:)什么是ajax加载程序?意味着我在ajax调用期间显示加载程序动画。那么,您为什么要在angular之外这样做?Angular的http服务是基于承诺的,这意味着您可以在http请求之前打开动画,并在请求解析后关闭动画。如果在ng应用程序范围内的标头中包含loader animation div,则可以。我在$.http之前打开动画,然后打开成功,隐藏它。它在普通页面上工作正常。但是对于modal,我得到的是modal范围内的值,而不是header中的值