Angularjs: Wie man eine Abhängigkeit von resolve routeProvider eingibt

7

Ich habe ein Problem beim Eingeben von Auflösungsparametern aus dem Routing in den Controller. Ich setze den Auflösungswert auf ein Objekt {name: 'Banner', slug: 'banner'} , aber ich bekomme einen Fehler.

App.js

%Vor%

Fehler:

%Vor%     
Nícolas Amarante 11.03.2015, 21:12
quelle

4 Antworten

9

ngRoute unterstützt die Injektion von aufgelösten Variablen in den Controller, was für übergreifende Probleme der App wie Authentifizierung oder Konfiguration der App nützlich ist.

Der Nachteil ist, dass der Controller nur mit diesen Parametern instanziiert werden kann, die für die Injektion verfügbar sind. Das bedeutet, dass Sie Ihren Controller entweder manuell instanziieren (mit $controller ), was fast nie der Fall ist. oder mit ngRoute mit Auflösung. Was Sie mit einem solchen Controller nicht tun können, ist die Instantiierung mit ng-controller oder an einem anderen Ort, an dem die injizierten Parameter nicht verfügbar sind.

Dieser Fehler weist darauf hin, dass Sie zusätzlich zur Definition des Controllers auf der Route den Controller in der Vorlage der Route als ng-controller definiert haben. Diese zweite Instantiierung des Controllers schlägt fehl.

    
New Dev 12.03.2015, 18:10
quelle
7

Sie können aufgelöste Daten in Ihrem Controller mit dem $ route-Dienst abrufen.

Siehe Demo hier Ссылка

In Ihrem Beispiel sieht es dann so aus:

%Vor%

und im Controller:

%Vor%     
sylwester 12.03.2015 22:23
quelle
2
%Vor%     
Сергей Савин 03.09.2016 09:17
quelle
0

Verwenden von Dependency Injection mit ng-route probiere das aus;

%Vor%     
Özgür 14.03.2018 08:37
quelle