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