Angularjs------- 定義全域性變數的3中方法
阿新 • • 發佈:2019-02-04
在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種變數在專案的哪個地方都可以用到,而且可以隨時改變變數的值,隨時獲取變化以後的值,特別方便