angular中如何定义全局变量_angularjs 设置全局变量的方法
angularjs 設置全局變量的3種方法
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中看一下效果
{{test.test1}}
{{constanttest}}
{{test2}}
結果:test111?this?is?constanttest?tank
其實我們可以通過其他方法來實現全局變量,例如:angularjs factory的功能。
總結
以上是生活随笔為你收集整理的angular中如何定义全局变量_angularjs 设置全局变量的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云服务器和VPS的区别是什么
- 下一篇: 浏览器事件捕获冒泡以及阻止冒泡