Angular-styleguide: Wie rufe ich $ scope. $ Broadcast auf, wenn ich vm = this verwende?

Erstellt am 12. Sept. 2014  ·  4Kommentare  ·  Quelle: johnpapa/angular-styleguide

TypeError: vm. $ Broadcast ist keine Funktion

Wenn Sie Ereignisse mit $ emit, $ Broadcast oder $ on veröffentlichen und abonnieren, sollten Sie diese Verwendungen in eine Factory verschieben und vom Controller aus aufrufen.

Gibt es ein Beispiel?

question

Hilfreichster Kommentar

Das können Sie sicher tun. Ein Teil des Vorteils der Verwendung von "controller as" besteht darin, dass der $ scope viele Dinge tut. Controller As ermöglicht, dass die Datenbindungsaspekte getrennt bleiben, und dann fügen wir $ scope nur dann ein, wenn wir es für etwas anderes benötigen.

Wenn ich $ scope für etwas in einem Controller benötige, versuche ich zuerst zu sehen, ob ich es wirklich brauche, und wenn ich es tue, abstrahiere ich es zu einem Dienst für Tings wie Broadcast / Emit. In Ihrem Fall würde ich es also immer noch abstrahieren.

Alle 4 Kommentare

Wenn Sie die $ scope-Methoden benötigen, müssen Sie $ scope einfügen.

Ist es also in Ordnung, dies und $ scope in einem Controller zu verwenden?

Das können Sie sicher tun. Ein Teil des Vorteils der Verwendung von "controller as" besteht darin, dass der $ scope viele Dinge tut. Controller As ermöglicht, dass die Datenbindungsaspekte getrennt bleiben, und dann fügen wir $ scope nur dann ein, wenn wir es für etwas anderes benötigen.

Wenn ich $ scope für etwas in einem Controller benötige, versuche ich zuerst zu sehen, ob ich es wirklich brauche, und wenn ich es tue, abstrahiere ich es zu einem Dienst für Tings wie Broadcast / Emit. In Ihrem Fall würde ich es also immer noch abstrahieren.

Klar! Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

jusefb picture jusefb  ·  9Kommentare

andreshg112 picture andreshg112  ·  3Kommentare

xavhan picture xavhan  ·  5Kommentare

Bekt picture Bekt  ·  13Kommentare

samithaf picture samithaf  ·  12Kommentare