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 对象链式操作测试代码
Apr 25 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
解析JavaScript数组方法reduce
Dec 12 Javascript
微信小程序如何获取openid及用户信息
Jan 26 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
Chrome插件开发系列一:弹窗终结者开发实战
Oct 02 Javascript
vuex刷新后数据丢失的解决方法
Oct 18 Javascript
html中两种获取标签内的值的方法
Jun 16 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
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
javascript中动态函数用法实例分析
2015/05/14 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
web页面录屏实现
2019/02/12 HTML / CSS
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
商务英语专业毕业生自荐信
2013/11/05 职场文书
求职简历中个人的自我评价
2013/12/01 职场文书
网管求职信
2014/03/03 职场文书
片区教研活动总结
2014/07/02 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
2015年上半年计生工作总结
2015/03/30 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
MyBatis-Plus 批量插入数据的操作方法
2021/09/25 Java/Android
MySQL中varchar和char类型的区别
2021/11/17 MySQL