1. 程式人生 > >Angularjs------- 定義全域性變數的3中方法

Angularjs------- 定義全域性變數的3中方法

在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種變數在專案的哪個地方都可以用到,而且可以隨時改變變數的值,隨時獲取變化以後的值,特別方便