博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularjs 设置全局变量的7种方法
阅读量:5932 次
发布时间:2019-06-19

本文共 2041 字,大约阅读时间需要 6 分钟。

hot3.png

在ng-app或控制器中定义的全局变量,在不同的controller里都可以使用。

1,通过var 直接定义global variable,这根纯js是一样的。

2,用angularjs value来设置全局变量 。

3,用angularjs constant来设置全局变量 。

4,用angularjs rootscope来设置全局变量 。

5、定义服务。

6、$rootScope。

7、定义一个服务 来传 值:

 不同controller之间传值,profile是自定义的一个服务!

 

.controller('a',function(){    Profile.userNameAll = $scope.user.userName;    Profile.cellphone = $scope.user.phoneNum;})

  

.controller('b',function(){    $scope.userName = Profile.userNameAll;     $scope.phoneNum = Profile.cellphone;})

下面用一个例子,来说明其中3种方法:

实例:

1,在app模块中,定义全局变量:

var test2 = 'tank';         //方法1,定义全局变量    var app = angular.module('app', [    'ngRoute',    'phonecatControllers',    'tanktest'  ]);    app .value('test',{"test":"test222","test1":"test111"});  //方法2定义全局变量    app .constant('constanttest', 'this is constanttest');    //方法3定义全局变量    app .config(['$routeProvider',                //设置路由    function($routeProvider) {      $routeProvider.        when('/phones', {          templateUrl: 'partials/phone-list.html'      //这里没有设置controller,可以在模块中加上ng-controller        }).        when('/phones/:phoneId', {          templateUrl: 'partials/phone-detail.html',          controller: 'PhoneDetailCtrl'        }).        when('/login', {          templateUrl: 'partials/login.html',          controller: 'loginctrl'        }).        otherwise({          redirectTo: '/login'        });    }]);

2,在controller中调用全局变量

/* Controllers */    var phonecatControllers = angular.module('phonecatControllers', []);    phonecatControllers.controller('PhoneListCtrl', ['$scope','test','constanttest',    function($scope,test,constanttest) {      $scope.test = test;                   //方法2,将全局变量赋值给$scope.test      $scope.constanttest = constanttest;   //方法3,赋值      $scope.test2 = test2;                 //方法1,赋值    }]);

3、结果

      {
{test.test1}}      {
{constanttest}}      {
{test2}}      结果:test111 this is constanttest tank

其实我们可以通过其他方法来实现全局变量,例如:angularjs factory的功能。

参考:http://blog.51yip.com/jsjquery/1601.html

转载于:https://my.oschina.net/u/2395167/blog/520532

你可能感兴趣的文章
get和post区别
查看>>
crontab执行shell脚本日志中出现乱码
查看>>
cmd.exe启动参数说明
查看>>
《随笔记录》20170310
查看>>
网站分析系统
查看>>
一站式解决,Android 拍照 图库的各种问题
查看>>
lsof命令
查看>>
从零开始来看一下Java泛型的设计
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
跨运营商组播传送案例(multicast-proxy-register应用)
查看>>
JTable的DefaultModel方法getValueAt(a,row)
查看>>
Good Bye 2013 A
查看>>
Automatic Sql Server Backup Utility Using sqlserveragent
查看>>
Java是如何读取和写入浏览器Cookies的
查看>>
篇一、安装配置Android Studio
查看>>
C#代码安装、卸载、监控Windows服务
查看>>
2014年抢票总结
查看>>