AngularJS constant和value區(qū)別詳解
angularJS可以通過constant(name,value)和value(name,value)對于創(chuàng)建服務也是很重要的。
相同點是:都可以接受兩個參數(shù),name和value。
區(qū)別:
1.constant(name,value)可以將一個已經(jīng)存在的變量值注冊為服務,并將其注入到應用的其他部分中。其中,name為注冊的常量的名字,value為注冊的常量的值或?qū)ο蟆?/p>
舉例:
(1)value為值時:
angular.module('myApp') .constant('apiKey','123123123') .controller('MyController', function($scope, apiKey) { // 可以像上面一樣用apiKey作為常量 // 用123123123作為字符串的值 $scope.apiKey = apiKey; });
(2)value為對象時:
angular.module('myApp') .constant('apiKey',{name:[],age:[],date:[]}) .factory('myFactory',function(apiKey,$scope){ apiKey.name = "lyy"; });
2.value(name,value)的name同樣是需要注冊的服務名,value將這個值將作為可以注入的實例返回。
ngular.module('myApp') .value('apiKey','123123123');
它們最大的區(qū)別是:常量可以注入到配置函數(shù)中,而值不行。
通常情況下,可以通過value()來注冊服務對象或函數(shù),用constant()來配置數(shù)據(jù)。
angular.module('myApp', []) .constant('apiKey', '123123123') .config(function(apiKey) { // 在這里apiKey將被賦值為123123123 // 就像上面設置的那樣 }) .value('FBid','231231231') .config(function(FBid) { // 這將拋出一個錯誤,未知的provider: FBid // 因為在config函數(shù)內(nèi)部無法訪問這個值 });
綜上,當我們想要創(chuàng)建一個服務,并且這個服務只需要返回數(shù)據(jù)時,就可以使用constant(name,value)和value(name,value),不過,它們有兩個顯著的區(qū)別:
1.value不可以在config里注入,但是constant可以
2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要經(jīng)常使用的數(shù)據(jù)。
以上所述是小編給大家介紹的AngularJS constant和value區(qū)別詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Angular.js實現(xiàn)注冊系統(tǒng)的實例詳解
Angular.js是Google開發(fā)的前端技術框架,最近一直在學習Angular.js,通過對angular.js的簡單理解后發(fā)現(xiàn),angular.js通過一些簡單的指令即可實現(xiàn)對DOM元素的操作,其特色為雙向數(shù)據(jù)綁定,下面這篇文章給大家詳細介紹Angular.js實現(xiàn)注冊系統(tǒng)的方法,一起來看看吧。2016-12-12使用AngularJS2中的指令實現(xiàn)按鈕的切換效果
這篇文章主要介紹了使用AngularJS2中的指令實現(xiàn)按鈕的切換效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Bootstrap和Angularjs配合自制彈框的實例代碼
今天小編通過本文給大家分享Bootstrap和Angularjs配合自制彈框的實例代碼,代碼簡單易懂,有需要的朋友跟著小編一起學習2016-08-08AngularJS ng-bind-html 指令詳解及實例代碼
本文主要是對AngularJS ng-bind-html 指令知識的詳細講解,并附代碼實例,有需要的小伙伴可以參考下2016-07-07AngularJS自定義插件實現(xiàn)網(wǎng)站用戶引導功能示例
這篇文章主要介紹了AngularJS自定義插件實現(xiàn)網(wǎng)站用戶引導功能,結(jié)合實例形式分析了AngularJS自定義插件的實現(xiàn)步驟與相關功能技巧,需要的朋友可以參考下2016-11-11Angular實現(xiàn)的日程表功能【可添加及隱藏顯示內(nèi)容】
這篇文章主要介紹了Angular實現(xiàn)的日程表功能,帶有向日程表中添加內(nèi)容及隱藏顯示內(nèi)容的功能,涉及AngularJS事件響應及頁面元素動態(tài)操作相關實現(xiàn)技巧,需要的朋友可以參考下2017-12-12