国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

angularJS Provider、factory、service詳解及實例代碼

2019-11-20 08:55:35
字體:
來源:轉載
供稿:網(wǎng)友

factory

用 Factory 就是創(chuàng)建一個對象,為它添加屬性,然后把這個對象返回出來。你把 service 傳進 controller 之后,在 controller 里這個對象里的屬性就可以通過 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"關鍵字實例化的。因此,你應該給"this"添加屬性,然后 service 返回"this"。你把 service 傳進 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 是唯一一種你可以傳進 .config() 函數(shù)的 service。當你想要在 service 對象啟用之前,先進行模塊范圍的配置,那就應該用 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三者的關系

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

總結

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵阳市| 玛曲县| 泗水县| 仙桃市| 平山县| 崇阳县| 伊宁市| 苗栗县| 上蔡县| 张北县| 无为县| 兴义市| 安仁县| 滨州市| 兴文县| 肇庆市| 齐河县| 榆树市| 洞头县| 辽宁省| 长顺县| 绥宁县| 南康市| 昌都县| 泊头市| 凤台县| 威信县| 密云县| 民县| 黑龙江省| 肥城市| 黑山县| 五原县| 四平市| 涿州市| 连平县| 原阳县| 滕州市| 怀集县| 将乐县| 天峨县|