angularJS可以通過(guò)constant(name,value)和value(name,value)對(duì)于創(chuàng)建服務(wù)也是很重要的。
永春網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),永春網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為永春成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的永春做網(wǎng)站的公司定做!
相同點(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ú)法訪問(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ì)創(chuàng)新互聯(lián)網(wǎng)站的支持!