Angularjs------- 定义全局变量的3中方法

来源:互联网 发布:淘宝账号在哪看到 编辑:程序博客网 时间:2024/05/21 19:26

在Angularjs,由于多个js文件的使用如app.js、controller.js、serveices.js,它们之间传递变量及相互使用各自的变量是非常常见的,下面我们来总结一下:


1.通过var直接定义的global varriable,这个跟纯js是一样;


2.用angularjs value来设置全局变量;


3.用angularjs constant来设置全局变量。


举例说明:

1.在app模块中,定义全局变量

var globalvar = '1111';         //方法1,定义全局变量    var phonecatApp = angular.module('phonecatApp', [     //定义一个ng-app    'ngRoute',    'phonecatControllers',    'tanktest'  ]);    phonecatApp.value('test',{"test2":"test222","test3":"test333"});  //方法2定义全局变量    phonecatApp.constant('constanttest', 'this is constanttest');    //方法3定义全局变量    

2.在controller中调用全局变量

var phonecatControllers = angular.module('phonecatControllers', []);    phonecatControllers.controller('PhoneListCtrl', ['$scope','test','constanttest', //先注入到controller里面   function($scope,test,constanttest) {      $scope.test = test;                   //方法2,将全局变量赋值给$scope.test      $scope.constanttest = constanttest;   //方法3,赋值      $scope.globalvar  = globalvar              //方法1,赋值    }]); 

这样就可以在一个controller给全局变量赋值,然后在其他controller里面用这个赋值了的变量了

例如: constanttest = “我是新赋值的”; $scope.constanttest = constanttest;   这是在输入constanttest的值为:我是新赋值的

3.在Html中的使用方法

<div data-ng-controller="PhoneListCtrl">      {{test.test1}}        {{constanttest}}      {{globlvar}}  </div> 

4.输出结果

结果:test111      this is constanttest     111



因为是全局变量,所以这3种变量在项目的哪个地方都可以用到,而且可以随时改变变量的值,随时获取变化以后的值,特别方便


0 0
原创粉丝点击