Angularjs 设置全局变量的方法总结


Posted in Javascript onOctober 20, 2016

AngularJS 设置全局变量的三种方法

angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种。要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用。

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

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

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

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

实例:

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

'use strict';

/* App Module */

var test2 = 'tank';     //方法1,定义全局变量

var phonecatApp = angular.module('phonecatApp', [   //定义一个ng-app
 'ngRoute',
 'phonecatControllers',
 'tanktest'
]);

phonecatApp.value('test',{"test":"test222","test1":"test111"}); //方法2定义全局变量

phonecatApp.constant('constanttest', 'this is constanttest');  //方法3定义全局变量

phonecatApp.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中调用全局变量

'use strict';

/* 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,在html中看一下效果

<div data-ng-controller="PhoneListCtrl">
  {{test.test1}}
  {{constanttest}}
  {{test2}}
</div>

结果:test111 this is constanttest tank

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
关于JavaScript的gzip静态压缩方法
Jan 05 Javascript
jQuery 前的按键判断代码
Mar 19 Javascript
json格式化/压缩工具 Chrome插件扩展版
May 25 Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
JavaScript模版引擎的基本实现方法浅析
Feb 15 Javascript
通过隐藏iframe实现无刷新上传文件操作
Mar 16 Javascript
详解JavaScript常量定义
Jan 03 Javascript
几种tab切换详解
Feb 03 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
Dec 24 Javascript
React实现todolist功能
Dec 28 Javascript
seajs学习之模块的依赖加载及模块API的导出
Oct 20 #Javascript
Angular表单验证实例详解
Oct 20 #Javascript
NODE.JS跨域问题的完美解决方案
Oct 20 #Javascript
seajs学习教程之基础篇
Oct 20 #Javascript
Angular.JS学习之依赖注入$injector详析
Oct 20 #Javascript
Javascript中内建函数reduce的应用详解
Oct 20 #Javascript
基于AngularJS前端云组件最佳实践
Oct 20 #Javascript
You might like
ajax取消挂起请求的处理方法
2013/03/18 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
[27:08]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第二场 11.21
2020/11/23 DOTA
Python之web模板应用
2017/12/26 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
银行毕业实习自我鉴定
2013/09/19 职场文书
教师评优事迹材料
2014/01/10 职场文书
《月迹》教学反思
2014/02/19 职场文书
保险专业自荐信范文
2014/02/20 职场文书
车间主任岗位职责
2015/02/03 职场文书
护理专业自我评价
2015/03/11 职场文书
门店店长岗位职责
2015/04/14 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
运动会广播稿300字
2015/08/19 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫