AngularJS - Erweiterungsmodul mit eigenen Typen / Providern

8

Ich möchte ein neues (dialog) type auf angular setzen, also könnte ich es genauso verwenden wie module.directive , module.filter , module.controller , um Direktiven, Filter und Controller zu registrieren.

Ich möchte meine Instanzen von dialog type folgendermaßen registrieren:

%Vor%

Ich möchte auch registrierte Dialoge in Controllern (Dependency Injection) verwenden können

%Vor%

Dies läuft auf die folgenden Fragen hinaus:

  1. Wie erweitere ich das Modul von angular um module.dialog register my dialog types?

  2. Wie kann ich meine registrierte dialogs in controllers etc injizieren?

Übrigens,

  • Ich weiß über angular-ui und angular-strap .
  • Ich möchte dialog nicht als Dienst verwenden, sondern als separates type (diese Lösung ist bereits in angular-ui implementiert).
g00fy 03.05.2013, 21:50
quelle

1 Antwort

7

Das ist eine ziemlich interessante Frage. Ich werde meine Antwort mit einer Meinung voranstellen: Ich denke nicht, dass Sie angular.module erweitern sollten, um eine dialog -Methode bereitzustellen. Diese Methoden sind Abkürzungen zu integrierten Angular-Anbietern, und das Angular-Team fügt von Zeit zu Zeit einige hinzu. Da Sie Zugriff auf die Funktionalität erhalten, nach der Sie suchen ohne fügen Sie die Methode dialog hinzu, würde ich nicht. Das heißt, der folgende Code zeigt Ihnen, wie eine sehr grundlegende Version davon funktionieren könnte (es ändert nicht den Prototyp des Angular-Moduls, nur die einzelne Instanz des Moduls).

%Vor% %Vor%

Hier ist ein funktionierendes Beispiel: Ссылка

Indem Sie $injector.invoke innerhalb Ihrer Funktion dialogProvider.register nutzen, können Sie einen Schlüssel wie controller in den Daten verwenden, die Ihr configFn zurückgibt. Da directive bereits sehr gut funktioniert, können Sie beim Auschecken sehr viel gewinnen. die AngularJS-Quelle .

    
Michelle Tilley 04.05.2013, 20:55
quelle

Tags und Links