Frage

Ich habe ein einfaches Beispiel codiert, in dem ich ein Ereignis aus einem Dienst ausgeben / ausstrahlen möchte, und ich möchte, dass das Ereignis von einem Controller gehört und die Benutzeroberfläche wechselt, aber ich kann es nicht arbeiten und den Code debuggenscheint im Zuhörer zu stoppen, aber es leitet die Funktion nicht aus.

http://plnkr.co/edit/eglcq7zellfkp86dyzoe?p=Preview

service:

generasacodicetagpre.

controller

generasacodicetagpre.

index

generasacodicetagpre.

Lösung:

Wie Ivarni oder Walter-Marke berichtet, der Anruf an die Dienstfunktion, die das Ereignis auslöst, muss nach dem Zuhörer platziert werden, wenn nicht, wenn Sie nicht ein Ereignis auslösen, das keinen Zuhörer aufweist, der noch nicht zuhören kann.

.

Wir müssen nur den Controller wie folgt ändern:

service

generasacodicetagpre.

War es hilfreich?

Lösung

Sie löst das Ereignis aus, bevor Sie den Hörer angehängt haben.

Versuchen Sie das:

generasacodicetagpre.

Andere Tipps

Platzieren Sie einfach den serviceTest.test () unter Ihrem Hörer in Ihrem Controller, wie folgt:

generasacodicetagpre.

Sie legen den Hörer an, direkt nach dem Aufruf von Test (), und dort ist es nur das Ereignis verfehlt.

Die Lösung, mit der ich in einer mittelgroßen App am besten funktioniert, besteht darin, einen Wrapper um die $ EMIT-Funktion zu erstellen und den $ EMIT mit einigen Millisekunden zu verzögern, nur für alle Ereignisse, die registriert werden sollen.

.

Sie können auch einige weitere Leckereien in den Wrapper einführen, wie Sie es Ihren aktuellen $ SCOPE angeben, oder lassen Sie es einen neuen untergeordneten Geltungsbereich des $ ROOTSCope (der nur eine Ebene darunter sein wird, die sich nur dann schnell ansiehtBis zu $ Rootscope), und verwenden Sie, dass als Datenkanal, Ereigniszerstörung nach dem Geltungsbereich stirbt, usw.

Hier ist der gesamte Quellcode: http://jsfiddle.net/gabrielcatalin/2urr7

.

und hier ist ein Auszug:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top