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