Angularjs 設(shè)置全局變量的方法總結(jié)
AngularJS 設(shè)置全局變量的三種方法
angularjs自身有二種,設(shè)置全局變量的方法,在加上js的設(shè)置全局變量的方法,總共有三種。要實(shí)現(xiàn)的功能是,在ng-app中定義的全局變量,在不同的ng-controller里都可以使用。
1,通過(guò)var 直接定義global variable,這根純js是一樣的。
2,用angularjs value來(lái)設(shè)置全局變量 。
3,用angularjs constant來(lái)設(shè)置全局變量 。
下面用一個(gè)例子,來(lái)說(shuō)明,上面3種方法:
實(shí)例:
1,在app模塊中,定義全局變量
'use strict'; /* App Module */ var test2 = 'tank'; //方法1,定義全局變量 var phonecatApp = angular.module('phonecatApp', [ //定義一個(gè)ng-app 'ngRoute', 'phonecatControllers', 'tanktest' ]); phonecatApp.value('test',{"test":"test222","test1":"test111"}); //方法2定義全局變量 phonecatApp.constant('constanttest', 'this is constanttest'); //方法3定義全局變量 phonecatApp.config(['$routeProvider', //設(shè)置路由 function($routeProvider) { $routeProvider. when('/phones', { templateUrl: 'partials/phone-list.html' //這里沒(méi)有設(shè)置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中調(diào)用全局變量
'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>
結(jié)果:test111 this is constanttest tank
其實(shí)我們可以通過(guò)其他方法來(lái)實(shí)現(xiàn)全局變量,例如:angularjs factory的功能。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
javascript中對(duì)Date類型的常用操作小結(jié)
下面小編就為大家?guī)?lái)一篇javascript中對(duì)Date類型的常用操作小結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05javascript學(xué)習(xí)筆記(三)BOM和DOM詳解
本文應(yīng)用了很多實(shí)例,來(lái)解讀JavaScript中BOM和DOM,DOM是一個(gè)使程序和腳本有能力動(dòng)態(tài)地訪問(wèn)和更新文檔的內(nèi)容、結(jié)構(gòu)以及樣式的平臺(tái)和語(yǔ)言中立的接口。,而B(niǎo)OM定義了JavaScript可以進(jìn)行操作的瀏覽器的各個(gè)功能部件的接口。2014-09-09javascript 構(gòu)造函數(shù)方式定義對(duì)象
這篇文章主要介紹了javascript 構(gòu)造函數(shù)方式定義對(duì)象的方法及示例,需要的朋友可以參考下2015-01-01javascript中apply、call和bind的使用區(qū)別
下面小編就為大家?guī)?lái)一篇javascript中apply、call和bind的使用區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-04-04Javascript基礎(chǔ)教程之?dāng)?shù)據(jù)類型 (布爾型 Boolean)
本文簡(jiǎn)單講解了javascript數(shù)據(jù)類型中的布爾型(boolean),十分的簡(jiǎn)單,小伙伴們看下就明白了2015-01-01actionscript與javascript的區(qū)別
actionscript是flash的腳本語(yǔ)言,目前已經(jīng)由adobe公司升級(jí)到3.0版本,成為了真正意義的oop語(yǔ)言,JavaScript是由netscape工程師設(shè)計(jì)完成的一門腳本語(yǔ)言,用于web開(kāi)發(fā)的前端腳本2011-05-05