溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AngularJS constant和value區(qū)別詳解

發(fā)布時間:2020-09-21 20:01:03 來源:腳本之家 閱讀:174 作者:xibingru 欄目:web開發(fā)

angularJS可以通過constant(name,value)和value(name,value)對于創(chuàng)建服務也是很重要的。

相同點是:都可以接受兩個參數(shù),name和value。

區(qū)別:

1.constant(name,value)可以將一個已經(jīng)存在的變量值注冊為服務,并將其注入到應用的其他部分中。其中,name為注冊的常量的名字,value為注冊的常量的值或對象。

舉例:

(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ù)內部無法訪問這個值
});

綜上,當我們想要創(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)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI