最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

angularJS Provider、factory、service詳解及實(shí)例代碼

 更新時(shí)間:2016年09月21日 09:52:36   作者:在路上_W  
這篇文章主要介紹了angularJS Provider詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下

factory

用 Factory 就是創(chuàng)建一個(gè)對(duì)象,為它添加屬性,然后把這個(gè)對(duì)象返回出來。你把 service 傳進(jìn) controller 之后,在 controller 里這個(gè)對(duì)象里的屬性就可以通過 factory 使用了。

app.controller('myFactoryCtrl', function($scope, myFactory){
  $scope.artist = myFactory.getArtis();
});
app.factory('myFactory', function(){
  var _artist = '';
  var service = {};

  service.getArtist = function(){
    return _artist;
  }
  return service;
});

service

Service 是用"new"關(guān)鍵字實(shí)例化的。因此,你應(yīng)該給"this"添加屬性,然后 service 返回"this"。你把 service 傳進(jìn) controller 之后,在controller里 "this" 上的屬性就可以通過 service 來使用了。

app.controller('myFactoryCtrl', function($scope, myService){
  $scope.artist = myService.getArtis();
});
app.service('myService', function(){
  var _artist ='';
  this.getArtist = function(){
    return _artist;
  }
});

provider

Providers 是唯一一種你可以傳進(jìn) .config() 函數(shù)的 service。當(dāng)你想要在 service 對(duì)象啟用之前,先進(jìn)行模塊范圍的配置,那就應(yīng)該用 provider。

app.controller('myProviderCtrl', function($scope, myProvider){
  $scope.artist = myProvider.getArtist();
  $scope.data.thingFromConfig = myProvider.thingOnConfig;
});
app.provider('myProvider', function(){
  this._artist = '';
  this.thingFromConfig = '';

  this.$get = function(){
    var that = this;
    return {
       getArtist: function(){
         return that._artist;
       },
       thingOnConfig: that.thingFromConfig
    }
  }
});
app.config(function(myProviderProvider){
  myProviderProvider.thingFromConfig = 'This was set in config()';
});

value和constant

$provide.value('myValue', 10);
$provide.constant('myConstant', 10);
/*


二者的區(qū)別:
1. value可以被修改,constant一旦聲明就無法修改
2. value不可以在config中注入,constant可以。
*/

provider、factory、service三者的關(guān)系

app.provider('myDate', { 
  $get: function() { 
   return new Date(); 
  }
});
//可以寫成
app.factory('myDate', function(){ 
 return new Date();
});
//可以寫成
app.service('myDate', Date);

總結(jié)

  1. 所有的供應(yīng)商都只被實(shí)例化一次,也就說他們都是單例的
  2. 除了constant,所有的供應(yīng)商都可以被裝飾器(decorator)裝飾
  3. value就是一個(gè)簡(jiǎn)單的可注入的值
  4. service是一個(gè)可注入的構(gòu)造器
  5. factory是一個(gè)可注入的方法
  6. decorator可以修改或封裝其他的供應(yīng)商,當(dāng)然除了constant
  7. provider是一個(gè)可配置的factory

以上就是對(duì)angularJS Provider、factory、service的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • Angular組件間通信的新解決方案詳解

    Angular組件間通信的新解決方案詳解

    本文通過對(duì)比幾種Angular組件間的通信方式,給大家介紹了一種新的Angular組件間通信的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Angular應(yīng)用的多語言設(shè)置問題解決示例

    Angular應(yīng)用的多語言設(shè)置問題解決示例

    這篇文章主要為大家介紹了Angular應(yīng)用的多語言設(shè)置問題解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Angular.JS去掉訪問路徑URL中的#號(hào)詳解

    Angular.JS去掉訪問路徑URL中的#號(hào)詳解

    最近天天都在用AngularJS,各類文檔也都看過好幾遍,但總是些編程上的事找不到優(yōu)雅的解決辦法。今天終于把AngularJS的項(xiàng)目訪問路徑URL里的#號(hào)去掉了,這個(gè)問題不見得有多難,關(guān)鍵是花多長(zhǎng)時(shí)間去理解AngularJS框架本身,下面來看看詳細(xì)介紹,需要的朋友可以參考下。
    2017-03-03
  • 解決ionic和angular上拉加載的問題

    解決ionic和angular上拉加載的問題

    這篇文章主要介紹了解決ionic和angular上拉加載的問題,需要的朋友可以參考下
    2017-08-08
  • Angularjs實(shí)現(xiàn)mvvm式的選項(xiàng)卡示例代碼

    Angularjs實(shí)現(xiàn)mvvm式的選項(xiàng)卡示例代碼

    每位Web開發(fā)者應(yīng)該都知道,選項(xiàng)卡是現(xiàn)代web網(wǎng)頁中最常用的效果之一,所以本文重點(diǎn)是用angularjs這個(gè)非常火mvvm框架,實(shí)現(xiàn)選項(xiàng)卡效果。有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-09-09
  • AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼

    AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼

    本文通過實(shí)例代碼給大家介紹了AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • Angular?ViewChild組件間通信demo

    Angular?ViewChild組件間通信demo

    這篇文章主要為大家介紹了Angular?ViewChild組件間通信demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • AngularJS中的路由使用及實(shí)現(xiàn)代碼

    AngularJS中的路由使用及實(shí)現(xiàn)代碼

    本篇文章主要介紹了AngularJS中的路由使用及實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 關(guān)于AngularJS中ng-repeat不更新視圖的解決方法

    關(guān)于AngularJS中ng-repeat不更新視圖的解決方法

    今天小編就為大家分享一篇關(guān)于AngularJS中ng-repeat不更新視圖的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • AngularJS HTML編譯器介紹

    AngularJS HTML編譯器介紹

    這篇文章主要介紹了AngularJS HTML編譯器介紹,AngularJS的HTML編譯器能讓瀏覽器識(shí)別新的HTML語法。它能讓你將行為關(guān)聯(lián)到HTML元素或者屬性上,甚至能讓你創(chuàng)造具有自定義行為的新元素,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

麻栗坡县| 博湖县| 平塘县| 延长县| 北安市| 玉门市| 通化县| 苏尼特右旗| 贵州省| 绥宁县| 永兴县| 虹口区| 财经| 安西县| 泉州市| 阜新市| 东乡族自治县| 霍山县| 蒙自县| 偃师市| 庐江县| 将乐县| 广宗县| 凉城县| 九龙坡区| 南靖县| 玉环县| 筠连县| 华蓥市| 罗江县| 贵阳市| 许昌市| 连城县| 商水县| 故城县| 龙海市| 卢湾区| 定襄县| 手游| 密云县| 英德市|