この記事では、Angular サービスを作成する 5 つの方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
Angular アプリケーションの実行は、主に app.config() と app.config() の 2 つの部分に分かれています。 run( ), config は、アプリケーションが正しいサービスを使用できるようにプロバイダーをセットアップする段階です。構成ブロックに挿入できるのはプロバイダーのみであることに注意してください ($provide と $injector の 2 つの例外のみ)。また、プロバイダーは構成内でのみ挿入できます。 Angular がサービスを挿入する 5 つの方法のうち、構成に依存できるのは、プロバイダーと定数を介して挿入されたサービスのみです。
app.controller('MyController', function ($httpProvider) { //错误,无法在控制器中注入服务提供者 }); app.config(function ($http) { //错误,配置块中只能注入服务 });
関連する推奨事項: "angularjs チュートリアル"
コントローラー関数を挿入できます。 , ただし、コントローラー自体を何かに挿入することはできません。ただし、コントローラーのセットアップを担当する $controller と呼ばれる組み込みの AngularJS サービスがあります。myMod.controller(...) を呼び出すとき、実際にはプロバイダーです本サービスにアクセスした方。
コード:
myMod.controller('MainController', function($scope) { // ... });
実際には次のことを行います:
myMod.config(function($controllerProvider) { $controllerProvider.register('MainController', function($scope) { // ... }); });
フィルターとディレクティブと同様に、フィルターは $filter というサービスとそのプロバイダー $filterProvider、およびディレクティブを使用します。 $compile というサービスとそのプロバイダ $compileProvidr を使用します。
依存関係インジェクターはファクトリー関数を使用してインスタンスを作成しますservice の場合、ファクトリ関数はオブジェクトを返します。
myModule.factory('myService', function () { var myService = {}; //添加myService的一些属性和方法 return myService; });
サービス インジェクションは関数をサービスに渡し、JavaScript の新しい操作を使用してサービスを生成します。つまり、アタッチします。これは、実行関数自体を指すとは限らず、トップレベルのオブジェクト ウィンドウを指す場合もあります。
myModule.service('myService', function () { this.foo = 'bar'; });
実際、上記のファクトリとサービスはプロバイダー上の糖衣構文として実装されており、プロバイダーを通じて注入されるサービスは次のようになります。プロバイダーとして使用 構成ブロックで使用する場合、プロバイダーは $get 属性を実装する必要があります。
myMod.provider('greeting', function() { var text = 'Hello, '; this.setText = function(value) { text = value; }; this.$get = function() { return function(name) { //$get必须实现,可以返回一个函数或者一个对象 alert(text + name); }; }; }); myMod.config(function(greetingProvider) { greetingProvider.setText("Howdy there, "); }); myMod.run(function(greeting) { greeting('Ford Prefect'); });
constant は主に定数を登録するために使用されます。value は値または json オブジェクトです。通常、この定数は主に設定に使用されます頻繁に使用される、常に設定されているサービスのデータを config に注入できます。
angular.module('myApp', []) .constant('apiKey', '123123123') .config(function(apiKey) { // 在这里apiKey将被赋值为123123123 // 就像上面设置的那样 })
value は主に、使用するデータまたはメソッドを保存するために使用されます。このデータまたはメソッドを変更する必要がある場合は、value を使用してくださいサービスを作成するには、パラメータ値は値または json オブジェクトです。さらに、設定では信頼できません。
serviceApp.value('myConfig',{ name:'code_bunny', age:12, getId:function(){ return 1 } });
プログラミング関連の知識については、プログラミング ビデオをご覧ください。 !
以上がAngular でサービスを作成するにはどうすればよいですか?見極める5つの方法!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。