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 相关文章推荐
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
关于JavaScript中的关联数组分析
Apr 09 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
Aug 27 Javascript
Javascript字符串常用方法详解
Jul 21 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 Javascript
Javascript中字符串相关常用的使用方法总结
Mar 13 Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 Javascript
利用jsonp与代理服务器方案解决跨域问题
Sep 14 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
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
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
div层的移动及性能优化
2010/11/16 Javascript
js判断FCKeditor内容是否为空的两种形式
2013/05/14 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
jquery图片倾斜层叠切换特效代码分享
2015/08/27 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python格式化日期时间操作示例
2018/06/28 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
对python中的高效迭代器函数详解
2018/10/18 Python
pandas 时间格式转换的实现
2019/07/06 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
css 元素选择器的简单实例
2016/05/23 HTML / CSS
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
2014春晚主持词
2014/03/25 职场文书
不错的求职信范文
2014/07/20 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
师范生免费教育协议书范本
2014/10/09 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
三孔导游词
2015/02/05 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
创业计划书之熟食店
2019/10/16 职场文书