AngularJS constant和value區(qū)別詳解
angularJS可以通過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ù)中,而值不行。
通常情況下,可以通過value()來注冊(cè)服務(wù)對(duì)象或函數(shù),用constant()來配置數(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)部無法訪問這個(gè)值
});
綜上,當(dāng)我們想要?jiǎng)?chuàng)建一個(gè)服務(wù),并且這個(gè)服務(wù)只需要返回?cái)?shù)據(jù)時(shí),就可以使用constant(name,value)和value(name,value),不過,它們有兩個(gè)顯著的區(qū)別:
1.value不可以在config里注入,但是constant可以
2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要經(jīng)常使用的數(shù)據(jù)。
以上所述是小編給大家介紹的AngularJS constant和value區(qū)別詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
angular 實(shí)時(shí)監(jiān)聽input框value值的變化觸發(fā)函數(shù)方法
今天小編就為大家分享一篇angular 實(shí)時(shí)監(jiān)聽input框value值的變化觸發(fā)函數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08
angular2 ng2 @input和@output理解及示例
本篇文章主要介紹了angular2 ng2 @input和@output理解及示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Angular4.0中引入laydate.js日期插件的方法教程
在AngularJs中我們會(huì)不可避免的使用第三方庫,例如jquery插件庫。下面這篇文章主要給大家介紹了關(guān)于Angular4.0中引入laydate.js日期插件的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
詳解angular2實(shí)現(xiàn)ng2-router 路由和嵌套路由
本篇文章主要介紹了詳解angular2實(shí)現(xiàn)ng2-router 路由和嵌套路由,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
Angular懶加載機(jī)制刷新后無法回退的快速解決方法
使用oclazyload懶加載angular的模塊,刷新頁面后,單擊回退按鈕無法返回上一個(gè)頁面.怎么回事呢?下面小編給大家?guī)砹薬ngular懶加載機(jī)制刷新后無法回退的快速解決方法,非常不錯(cuò),感興趣的朋友參考下2016-08-08
Angular2-primeNG文件上傳模塊FileUpload使用詳解
這篇文章主要為大家詳細(xì)介紹了Angular2-primeNG文件上傳模塊FileUpload使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
angular內(nèi)置provider之$compileProvider詳解
下面小編就為大家?guī)硪黄猘ngular內(nèi)置provider之$compileProvider詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09

