溫馨提示×

溫馨提示×

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

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

AngularJS constant和value區別詳解

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

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

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

區別:

1.constant(name,value)可以將一個已經存在的變量值注冊為服務,并將其注入到應用的其他部分中。其中,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'); 

它們最大的區別是:常量可以注入到配置函數中,而值不行。

通常情況下,可以通過value()來注冊服務對象或函數,用constant()來配置數據。

angular.module('myApp', [])
.constant('apiKey', '123123123')
.config(function(apiKey) {
// 在這里apiKey將被賦值為123123123
// 就像上面設置的那樣
})
.value('FBid','231231231')
.config(function(FBid) {
// 這將拋出一個錯誤,未知的provider: FBid
// 因為在config函數內部無法訪問這個值
});

綜上,當我們想要創建一個服務,并且這個服務只需要返回數據時,就可以使用constant(name,value)和value(name,value),不過,它們有兩個顯著的區別:

1.value不可以在config里注入,但是constant可以

2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要經常使用的數據。

以上所述是小編給大家介紹的AngularJS constant和value區別詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女