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 相关文章推荐
jQuery选中select控件 无法设置selected的解决方法
Sep 01 Javascript
基于JQuery的Select选择框的华丽变身
Aug 23 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
IE下双击checkbox反应延迟问题的解决方法
Mar 27 Javascript
node.js中的fs.open方法使用说明
Dec 17 Javascript
js仿支付宝多方框输入支付密码效果
Sep 27 Javascript
动态创建Angular组件实现popup弹窗功能
Sep 15 Javascript
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
基于Vue2实现简易的省市区县三级联动组件效果
Nov 05 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 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
mysql limit查询优化分析
2008/11/12 PHP
php生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
PHP模拟asp.net的StringBuilder类实现方法
2015/08/08 PHP
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
AngularJS基础知识
2014/12/21 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
jQuery实现页面内锚点平滑跳转特效的方法总结
2015/05/11 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
Vue 实现手动刷新组件的方法
2019/02/19 Javascript
Vue实现PC端靠边悬浮球的代码
2020/05/09 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[46:00]Ti4 冒泡赛第二轮LGD vs C9 2
2014/07/14 DOTA
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
Python 字符串操作方法大全
2014/03/11 Python
Python获取当前路径实现代码
2017/05/08 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
python时间日期操作方法实例小结
2020/02/06 Python
python是怎么被发明的
2020/06/15 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
气象学专业个人求职信
2014/03/15 职场文书
演讲稿格式
2014/04/30 职场文书
初中升旗仪式演讲稿
2014/05/08 职场文书
统计专业自荐书
2014/07/06 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript