Eigentlich Ihre Frage gut ist. Um es sehr einfach zu machen, definieren wir Services in Angular JS, um unsere Funktionen zu erreichen. Provider ist eine der Möglichkeiten zu konfigurieren, wie diese Dienste funktionieren sollen. Es gibt einige weitere Konzepte, nämlich Werte, Konstanten, Factory, Service und Decorator in Angular JS, die uns helfen können, die Services auf verschiedene Arten abzufangen. Bitte überprüfen Sie den folgenden Link.
https://docs.angularjs.org/guide/providers
den Provider zurückzukommen, werden sie verwendet, Anwendung breite Konfigurationen zu definieren, die bereits vor Anwendung gestartet wird getan werden muss. Da Config-Blöcke ausgeführt werden, bevor die Angular JS-Module geladen werden, konfigurieren wir die Provider unter ihnen. Da die Module zu diesem Zeitpunkt nicht geladen worden sind, können Sie nicht auf Dienste innerhalb eines Konfigurationsblocks zugreifen.
Die Ausführungsblöcke werden ausgeführt, sobald alle Module vom $ Injector geladen wurden. Sobald Sie einen Laufblock betreten, dürfen Sie Ihren Provider nicht mehr konfigurieren, da Ihre Dienste ohnehin geladen werden. Aus diesem Grund können Sie innerhalb eines Ausführungsblocks nicht auf Provider zugreifen.
Lassen Sie uns ein Beispiel sehen. Ich habe meine Anwendung so gestaltet, dass sie sowohl Benutzer- als auch Admin-Bildschirme unterstützt. Aber die damit verbundenen Merkmale sind in ihren jeweiligen Diensten definiert. Ich möchte nur die entsprechenden Dienste laden, wenn sich ein Benutzer anmeldet. Das erreichen wir mit einem Provider wie unten beschrieben.
definieren rolesProvider
myApp.provider("roles", function rolesProvider(){
var role;
this.setRole = function(value) {
role = value;
}
this.$get = function rolesFactory() {
if(role === "user") {
return new userRole();
} else {
return new adminRole();
}
}
});
konfigurieren rolesProvider als Benutzer
myApp.config(["rolesProvider"], function(rulesProvider){
rulesProvider.setRole("user");
});
Meine Anwendung als Benutzer ausführen konfiguriert werden und nicht als Administrator, wenn die Anwendung tritt weg.
Lassen Sie mich wissen, wenn Sie weitere Erklärungen benötigen.
Danke ... Es hat mir geholfen zu verstehen. – RajSharma
Gern geschehen. –