2014-04-18 7 views
9

Ich habe gerade auf AngularDart 0.10 aktualisiert, meine Ngcontrollers in Controller umbenannt und ich bin sehr überrascht zu sehen, dass Controller vom Dart-Editor als veraltet markiert ist. Ich habe gesehen, dass Controller in AngularDart 1.0 [1] verschwinden soll, aber warum ist es schon veraltet? Soll ich jetzt etwas anderes benutzen?Warum wird der Controller in AngularDart 0.10.0 eingestellt?

[1] http://blog.angulardart.org/2014/04/angulardart-0100-ostemad-teleportation.html

Antwort

10

Ich habe nicht wirklich die selbst ändern verstanden, aber einige Informationen:

https://github.com/angular/angular.dart/issues/919

Es scheint nur ein Top-Level-Regler nach links und sonst Komponente verwendet werden soll . Dies macht auch publishAs obsolet.

Siehe auch: https://github.com/angular/angular.dart/issues/413

Misko Heverys Antwort über die Gründe für die Entscheidung
(kopiert von https://github.com/angular/angular.dart/issues/919)

ng-Controller haben einige seltsame Semantik, und immer wie die ungerade Mann fühlte aus. ng-controller ist nur außerhalb der Komponente nützlich und nistet sie hat Probleme, so dass Sie normalerweise nur eine haben.

Das Entfernen vereinfacht die Welt. Das Problem ist, dass es hallo Welt Arten von Anwendungen komplizierter macht, aber das wird durch gelöst werden, so dass die Wurzel der App seinen eigenen Typ haben und man würde beste aller Welten bekommen.

Das Problem, dass alles eine Komponente sein muss, fühlt sich nur an wie ein Problem, wenn die Kosten für die Erstellung hoch sind. Wenn Sie ein leichtes Komponenten mit Decorator-Direktiven haben, dann haben Sie alle Werkzeuge, die Sie benötigen, um Ihre App zu erstellen.

+0

Ok, aber ein Problem, das ich über Komponenten sehe, ist, wie sie Shadow Dom verwenden, sie sind nicht als die restlichen der Seite formatiert, richtig? – Vincent

+2

Es gibt einen Root-Controller ohne eine Komponente und Sie können auch einen Blick auf https://github.com/angular/angular.dart/blob/1e5ecbc48351e292d1c167c97ca1150ce77ca479/lib/core/annotation_src.dart#L316 –

+0

Wie für das Styling: Sie können wählen, ob Sie die Komponente als verbleibende Seite gestalten möchten oder ob Sie ein komponentenspezifisches Styling verwenden möchten. Um die globalen CSS-Dateien anzuwenden, setzen Sie das Attribut "applyAuthorStyles" von @NgComponent auf "true" (dh @NgComponent (applyAuthorStyles: true, selector = '... "). –

Verwandte Themen