it-swarm.com.de

Dokumentation zu AngularJS app.run ()?

Wie und wo wird app.run() verwendet? Nach der Moduldefinition, nach app.config() oder nach app.controller()?

Ich übernehme das BreezeJS Angular Q , das fragt, ob bestimmter Code in der Funktion app.run() ausgeführt werden kann.

330
user3071284

Hier ist die Anrufreihenfolge:

  1. app.config()
  2. app.run()
  3. Kompilierfunktionen der Direktive (falls sie im dom gefunden werden)
  4. app.controller()
  5. Link-Funktionen der Direktive (wieder, falls gefunden)

Hier ist eine einfache Demo , in der Sie sehen können, wie jeder ausgeführt wird (und experimentieren können, wenn Sie möchten).

Von Angulars Moduldokumentation :

Ausführungsblöcke - werden ausgeführt, nachdem der Injektor erstellt wurde, und werden zum Kickstart der Anwendung verwendet. Nur Instanzen und Konstanten können in Ausführungsblöcke eingefügt werden. Dies soll verhindern, dass das System während der Laufzeit der Anwendung weiter konfiguriert wird.

Ausführungsblöcke sind in Angular der Hauptmethode am nächsten. Ein Ausführungsblock ist der Code, der ausgeführt werden muss, um die Anwendung zu starten. Sie wird ausgeführt, nachdem alle Dienste konfiguriert und der Injektor erstellt wurden. Ausführungsblöcke enthalten normalerweise Code, der nur schwer zu testen ist. Aus diesem Grund sollten sie in isolierten Modulen deklariert werden, damit sie in den Komponententests ignoriert werden können.

Eine Situation, in der Laufblöcke verwendet werden, ist während Authentifizierungen .

646
KayakDave

Speziell...

Wie und wo wird app.run() verwendet? Nach Moduldefinition oder nach app.config(), nach app.controller()?

Wo:

In Ihrem package.js z. /packages/dashboard/public/controllers/dashboard.js

Wie:

Lass es so aussehen

var app = angular.module('mean.dashboard', ['ui.bootstrap']);

app.controller('DashboardController', ['$scope', 'Global', 'Dashboard',
    function($scope, Global, Dashboard) {
        $scope.global = Global;
        $scope.package = {
            name: 'dashboard'
        };
        // ...
    }
]);

app.run(function(editableOptions) {
    editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});
29
Michael Cole