Ich entwickle mit Angular 1.5.8 und Typescript Ich habe eine Richtlinie, die im Rahmen einer anderen Richtlinie (und natürlich eines anderen Verantwortlichen) verwendet wird. Sagen wir Richtlinie1, Controller1 und Richtlinie2, Controller2. Da der Controller1 bereits über die Benutzerinformationen verfügt, möchte ich diese Benutzerinformationen über die Direktive2 an den Controller2 weiterleiten, um zu verhindern, dass die Informationen erneut aus dem Backend abgerufen werden. Ich bin mir nicht sicher, ob das möglich ist, aber es wäre schön, wenn das der Fall wäre:)
Unten ist der Code, um meine Erklärung zu helfen:
Richtlinie1 HTML:
%Vor%loggedUser wird im Controller1-Konstruktor durch einen Aufruf an das Backend geladen.
Directive2 und Directive2Ctrl Typescript-Code:
%Vor%Ich konnte keine Möglichkeit finden, das Benutzerobjekt an die Directive2Ctrl zu übergeben (nicht einmal sicher, ob das möglich ist).
Verwenden Sie die Eigenschaft "scope" anstelle der Eigenschaft "bindToController", und ersetzen Sie Ihr "@" durch "=". Dann verwende ich eine Schnittstelle für meinen spezifischen Bereich, um Autovervollständigung zu erhalten.
%Vor%Entfernen Sie in Ihrem HTML-Code die geschweiften Klammern.
%Vor%Wenn Sie Daten zwischen verschiedenen Standorten in Ihrer Anwendung freigeben möchten, fügen Sie sie einfach in einen Dienst ein und verwenden Sie DI, wo immer Sie die Daten benötigen.
Das heißt, holen Sie die Daten, speichern Sie sie in einem Dienst und verwenden Sie DI, um die Daten an verschiedenen Orten verfügbar zu machen. Es ist nicht notwendig, Daten durch Bindungen über mehrere Ebenen zu übertragen, was die Verwendung eines Dienstes erheblich vereinfacht.
Es sollte so sein. Aber wenn es immer noch nicht für Sie funktioniert, können Sie einen einfachen Plünderer erstellen und ich werde es dort reparieren. Prost!
%Vor%'
%Vor%Tags und Links angularjs typescript angularjs-directive typescript1.8