當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
angularJS constant和value
生活随笔
收集整理的這篇文章主要介紹了
angularJS constant和value
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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ū)ο蟆?
舉例:
(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è)值 });
通常情況下,可以通過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ù)。
總結(jié)
以上是生活随笔為你收集整理的angularJS constant和value的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: border三角形阴影(不规则图形阴影)
- 下一篇: css之hover改变子元素和其他元素样