Antworten 1:

Hallo,

Angular 1.x wurde als robustes Framework für die Erstellung von Anwendungen mit nur einer Seite angesehen und hat sich bewährt. Angular 2 ist jedoch eine komplette Plattform für die Erstellung moderner Anwendungen. Die neueste Version von Angular 2 bietet gegenüber AngularJS 1.x viele Vorteile, darunter eine bessere Leistung, verzögertes Laden, einfachere APIs, einfacheres Debuggen und vieles mehr.

In erster Linie müssen wir uns mit vier Dingen auskennen: ES6, TypeScript, RxJS / Observables und Build-Tools.

Geschweifte Klammern bezeichnen jetzt eine Einwegbindung

Wenn Sie sich erinnern, ist dies bei Verwendung von ng-bind in Angular 1 dasselbe. Während Sie in Angular 2 Klammern innerhalb von Klammern (bekannt als "Banane in einer Box") für die bidirektionale Datenbindung verwenden müssen. Diese Änderung ist hauptsächlich auf den neuen unidirektionalen Datenfluss zurückzuführen, den Angular 2 übernommen hat.

Das folgende Beispiel zeigt den Wechsel zwischen Winkel 1 und 2:



{{message}}

Viele grundlegende Anweisungen, Filter und Dienste sind erst nach dem Import verfügbar!

In Angular 1 galt dies für Dinge wie Services (z. B. $ http), aber jetzt müssen wir (unter anderem) zuerst grundlegende Direktiven wie NgModel importieren. Dies scheint eine frustrierende Änderung zu sein, aber letztendlich können Sie den Overhead Ihrer Angular-Anwendungen explizit steuern, was eine gute Sache ist.

Auf Wiedersehen ng-App, hallo Bootstrap

Wir verwenden das Attribut ng-app nicht mehr, um eine Angular App zu verbinden. Stattdessen müssen wir uns auf eine neue Technik verlassen, die als Bootstrapping bekannt ist.

Vor Angular 2 konnten wir die Attributdirektive ng-app verwenden, um unsere Winkelmodule mit einer Ansicht zu verbinden. Dieser als Bootstrapping bezeichnete Prozess wurde mit Angular 2 geändert.

{bootstrap} aus '@ angle / platform-browser-dynamic' importieren;
{AppComponent} aus './app.component' importieren;

// Verbinden Sie die Komponente mit unserer Ansicht
Bootstrap (AppComponent);

Weitere Informationen finden Sie unter diesen Links. Dies könnte Ihnen helfen.

Winkel 2 vs. Winkel 1: Hauptunterschiede - DZone Web Dev

Winkel 1 vs Winkel 2 - ein Vergleich auf hoher Ebene

Die Unterschiede zwischen Angular 1.X und Angular 2 - Devblast



Antworten 2:

Eigentlich hat sich viel geändert. Die Dateistruktur, der Wechsel von Controllern zu Komponenten, eine andere Methode zur Behandlung der Abhängigkeitsinjektion, die Umstellung auf Typoskript, ein anderes Routing-System und der Winkel-Cli sind nur einige der Faktoren, die jemand kennen sollte, der von Winkel-Js zu Winkel-2 wechselt.

Kurz gesagt, der einzige wirkliche Vorteil, den ein Wechsel von ng1 zu ng2 hat, ist die Kenntnis des clientseitigen MVC-Prinzips und der meisten Terminologien.

Es handelt sich im Wesentlichen um zwei verschiedene und unterschiedliche Frameworks, sodass Sie Winkel 2 von Grund auf lernen müssen.

Das Portieren einer AngularJS-App nach Angular ist im Wesentlichen eine vollständige Umschreibung der Anwendung, sodass Ihnen Ihre AngularJS-Kenntnisse wahrscheinlich nicht viel helfen werden.

Sie benötigen eine gute Ressource wie ng-book 2, wenn Sie in kurzer Zeit mit Angular 2 auf dem neuesten Stand sein möchten. Sie benötigen außerdem Kenntnisse über Typescript, um Angle 2 optimal nutzen zu können.

Also fang schon an.



Antworten 3:

Vieles hat sich geändert. Der beste Ausgangspunkt für eine Migration ist hier:

Angular Docs

Das ist ein ziemlich detaillierter Migrationsleitfaden. Auf der Hauptseite von Angular.io erhalten Sie einen guten Überblick über die Änderungen.

Auf hohem Niveau jedoch:

Keine Controller mehr. AngularJS 1.5+ unterstützt auch Komponenten, um die Kommunikation zwischen Angular 1.5- und Angular-Komponenten (der neuen Version) zu unterstützen, die auf derselben Seite ausgeführt werden.

Ein Fokus auf ES6 und Typescript. Obwohl Sie beides nicht verwenden müssen, wird in den meisten Dokumentationen TypeScript verwendet.

Hierarchische Abhängigkeitsinjektion. DI ist flexibler als in AngularJS.

Die bidirektionale Datenbindung ist nicht mehr das „Gehe zu“ wie in AngularJS. Natürlich wurde es oft missbraucht und verursachte manchmal Leistungsprobleme in der alten Version. Die Datenbindung in eine Richtung wird in der neuen Version stärker betont (obwohl die bidirektionale Bindung weiterhin funktioniert und bei Bedarf verwendet werden kann).

Formulare - In Angular gibt es drei verschiedene Arten von Formularen. Jeder hat Stärken und Schwächen, abhängig von Ihrem Anwendungsfall.

Routing - Das Definieren von Routen und das Routing zwischen Komponenten ist einfacher als in AngularJS.

NgModule - Winkelmodule werden zur Steuerung von Importen und zur logischen Konsolidierung von Komponenten, Rohren und Anweisungen verwendet.

Direktiven - (Dies gilt auch für Angular 1.5 im Vergleich zu früheren Versionen). Elementdirektiven werden weniger benötigt, da weniger komplexe Komponenten erstellt werden können (keine Einschränkung, keine Kompilierung, keine Verknüpfung) und die Funktionalität, die normalerweise über eine Direktive in AngularJS in eine Seite eingefügt wird, auf andere Weise implementiert werden kann .



Antworten 4:

Es gibt verschiedene Unterschiede zwischen Angular 1.x, Angular 2 (und Angular 4). Hier sind einige davon:

Syntax

In einigen Fällen, z. B. bei mit Eingaben verbundenen Ereignissen, ändert sich die Syntax geringfügig.

Winkel 1.x.

Angular 2.0

Komponenten

Winkel 2 ist vollständig komponentenbasiert. Controller und $ scope werden nicht mehr verwendet. Sie wurden durch Komponenten und Richtlinien ersetzt. Komponenten sind Direktiven mit einer Vorlage.

Typoskript

Angular 2.0 erfordert standardmäßig TypeScript anstelle von ECMAScript. Dies setzt eine große Änderung in der Art und Weise voraus, wie Entwickler Angular-Code schreiben.