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不间断滚动效果(模拟百度新闻支持文字/图片/垂直滚动)
Feb 05 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
JS求解三元一次方程组值的方法
Jan 03 Javascript
AngularJS实现路由实例
Feb 12 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
微信小程序联网请求的轮播图
Jul 07 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
BootStrap modal实现拖拽功能
Dec 01 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
php自动加载机制的深入分析
2013/06/08 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
vue实现2048小游戏功能思路详解
2018/05/09 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
django ajax发送post请求的两种方法
2020/01/05 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
Python多分支if语句的使用
2020/09/03 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
怎样声明子类
2013/07/02 面试题
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
《陶罐和铁罐》教学反思
2014/02/19 职场文书
校园安全标语
2014/06/07 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
党员作风建设整改方案
2014/10/27 职场文书
工作经历证明书范文
2014/11/02 职场文书
python pyhs2 的安装操作
2021/04/07 Python
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL