angularjs三($プロバイダ、$工場、$サービス)サービスをカスタマイズするにすることができ、以下の実現の異なる形式は次のとおりです。
//モジュールの定義、モジュールは、注入の$提供
VAR = starterAppのangular.module( 'starter.controllers'、[]、関数($){提供
カスタムサービスプロバイダの使用提供://第一の実施形態を
$のprovide.providerを( 'getUserInfoService'、関数(){
=この$のGET関数(){
VARユーザー情報= [{
'ユーザー名': '張0'、
'userNick': '花0'、
'年齢':25
}、{
'ユーザー名': 'ジョー・スミス1'、
'userNick': '花1'、
'年齢':26である
}];
ユーザー情報を返す;
}
});
$のprovide.factory( ''、関数(){});
$ provide.service( ''、関数() {});
});
($モジュールのconfig注入方法を提供する)//第二の方法
starterApp.configは([「$提供」、関数($を提供){
//(カスタム・サービス・プロバイダの使用を提供し返すオブジェクト、文字列、サービス、および方法を得る$によって返されなければならない)
の$ provide.provider( 'getUserAddressService'、関数(){
VARの_userAddress = '';
VAR-SERVICE = {};
= $ GETこの関数(){
service.setAddress =関数(userAddress) {
_userAddress = userAddress;
}
service.getAddress =機能(){
_userAddressを返す;
}
リターン・サービス;
}
});
//カスタムサービス工場(リターン・オブジェクト、サービス、文字列)の使用を提供
$のprovide.factory(「serviceName1を'[' $のhttp」、関数($ HTTP){
VAR-SERVICE = {}; //
// service.getName =関数(){
//リターン'ジョン・ドウ';
//}
復帰サービス; //
//
リターン"ビッグああさらさら";
}]);
//使用サービス(リターン・オブジェクト、サービス)をカスタマイズするためのサービス提供
の$ provide.service( 'serviceName2'、[ '$ HTTP'、関数($ HTTP){
//リターン{
// '名前': 'AA'を
//};
//このメソッドの定義は、直接的であってもよい
this.getName =関数(){
戻り'ジョン・ドウ';
}
}])
}])。
//第三の方法(モジュールプロバイダ、サービス工場第三の方法を推奨)
starterApp.provider(「serviceName3」、関数(){
この。$ GET =関数(){
モジュールによって直接定義されたリターン「プロバイダ方法サービス';
}
});
starterApp.factory(' serviceName4 '関数(){
リターン'ファクトリメソッドにおけるサービスモジュールによって直接定義されている';
});
starterApp.service(' serviceName5 '関数(){
リターン{
'メッセージ「:」直接サービスモジュールのサービスメソッドの定義から'
}
})。
ます。https://www.cnblogs.com/zijuan/p/5038189.htmlで再現