对于“全局”变量,您基本上有2个选项:
- 使用
$rootScope
http://docs.angularjs.org/api/ng.$rootScope - 使用服务http://docs.angularjs.org/guide/services
$rootScope是所有作用域的父项,因此公开的值将在所有模板和控制器中可见。使用
$rootScope非常容易,因为您可以将其简单地注入任何控制器并在此范围内更改值。它可能很方便,但是存在全局变量的所有问题。
服务是单例,您可以将其注入任何控制器并在控制器的作用域中公开它们的值。作为单例的服务仍然是“全局的”,但是您已经更好地控制了它们的使用和公开位置。
使用服务稍微复杂一点,但不算多,下面是一个示例:
var myApp = angular.module('myApp',[]);myApp.factory('UserService', function() { return { name : 'anonymous' };});然后在控制器中:
function MyCtrl($scope, UserService) { $scope.name = UserService.name;}这是工作中的jsFiddle:http :
//jsfiddle.net/pkozlowski_opensource/BRWPM/2/



