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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
用 javascript 实现的点击复制代码
Mar 24 Javascript
网页禁用右键实现代码(JavaScript代码)
Oct 29 Javascript
JavaScript全局函数使用简单说明
Mar 11 Javascript
JS获取当前网址、主机地址项目根路径
Nov 19 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
详解jQuery Mobile自定义标签
Jan 06 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
Vuex之理解Store的用法
Apr 19 Javascript
AngularJS下$http服务Post方法传递json参数的实例
Mar 29 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
Mar 02 Javascript
微信小程序获取地理位置及经纬度授权代码实例
Sep 18 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
PHP的FTP学习(三)
2006/10/09 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
php产生随机数的两种方法实例代码 输出随机IP
2011/04/08 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
2016/04/12 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
js实现禁止中文输入的方法
2015/01/14 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
vue-cli构建项目使用 less的方法
2017/10/04 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
详解Python中find()方法的使用
2015/05/18 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
python提取图像的名字*.jpg到txt文本的方法
2018/05/10 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
C#和SQL Server的面试题
2016/08/12 面试题
瀑布模型都有哪些优缺点
2014/06/23 面试题
vue路由实现登录拦截
2021/03/24 Vue.js
预备党员2014全国两会学习心得体会
2014/03/10 职场文书
终止劳动合同协议书
2014/10/05 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python