web-dev-qa-db-de.com

Unterschiede zwischen Winkel 5 und Winkel 6

Was sind die Unterschiede zwischen Angular 5 und Angular 6. Wie kann ich unsere Anwendung von Angular 5 auf Angular 6 aktualisieren? 

Was sind die Hauptunterschiede zwischen Winkel 5 und Winkel 6?

5
zeeshan Qurban

Die neuen Funktionen in Angular 6 sind unter dem folgenden Link aufgeführt: https://www.infoworld.com/article/3213244/javascript/whats-new-in-angangerversion-6-here. html

sie können den folgenden Link für die Migration zu Angular 6 verwenden: Sie möchten ein Projekt von Angular V5 auf Angular V6 aktualisieren

8

Winkel 6 Änderungen:

1) TypeScript 2.7+ unterstützt

2) Angular Material und CDK Stable hinzugefügt

3) Component Dev Kit (CDK) - Mit CDK können Sie mithilfe von Angular Material eine eigene Bibliothek mit UI-Komponenten erstellen.

4) Verbesserte Fehlermeldungen des Dekorateurs

5) Fixieren Sie die Plattformerkennungsbeispiel für Universal

6) Ivy Renderer - Es ist ein neuer abwärtskompatibler und auf den Fokus fokussierter Bereich - Geschwindigkeitsverbesserungen, Größenreduzierung und erhöhte Flexibilität.

7) Fügen Sie afterContentInit und afterContentChecked hinzu, um zu rendern

8) Unterstützung für nativeElement hinzugefügt

9) Hinzugefügter optionaler generischer Typ für ElementRef .__ Das Beispiel sieht wie - @ ViewChild ('your-element') aus: yourElement: ElementRef;

10) Bazel Compiler - Bazel baut nur das Notwendige neu auf.

11) Testkommentar hinzugefügt

12) Fügen Sie fehlende Lebenszyklus-Tests für geplante Komponenten hinzu

13) Closure Compiler - Closure Compiler erzeugt konsequent kleinere Bundles.

14) Benennen Sie QueryPredicate in LQuery und LQuery in LQueries um

15) Service Worker - Service Worker ist ein Skript, das im Webbrowser ausgeführt wird. Es verwaltet auch das Caching für eine Anwendung.

16) Mehrere Validatoren für die Array-Methode von FormBuilder hinzugefügt

17) Handle String mit und ohne Zeilenumrandung - Now Handle String mit und ohne Zeilenumrandung (^ & $) für Musterprüfer. Bisher funktioniert es mit Zeichenketten ohne Grenzen.

18) AbstractControl statusChanges - In früheren Versionen wird kein Ereignis ausgegeben, wenn Sie "markAsPending" aufgerufen haben. Jetzt wird jedoch ein Ereignis mit dem Status "PENDING" ausgegeben, wenn Sie AbstractControl markAsPending aufrufen.

19) Aktualisierungen auf NgModelChange - Jetzt wird ausgegeben, nachdem der Wert und die Gültigkeit der Steuerelemente aktualisiert wurden. Bisher wurde es vor der Aktualisierung ausgegeben.

20) Zulassen, dass HttpInterceptors HttpClient –.__ injizieren. Früher würde ein Interceptor, der direkt versucht, HttpClient zu injizieren, einen zirkularen Abhängigkeitsfehler erhalten, da HttpClient über eine Factory erstellt wurde, die die Interceptor-Instanzen injizierte. Benutzer möchten HttpClient in Interceptors injizieren, um Unterstützung zu erhalten.

Entweder der HttpClient oder der Benutzer muss sich speziell mit der zirkularen Abhängigkeit befassen. Durch diese Änderung wird diese Verantwortung in HttpClient selbst verschoben. Durch die Verwendung einer neuen Klasse HttpInterceptingHandler, die den Satz von Interceptoren zum Anforderungszeitpunkt träge lädt, ist es möglich, HttpClient direkt in Interceptors zu injizieren, da der Aufbau von HttpClient nicht länger die Konstruktion der Interceptor-Kette erfordert.

21) Füge navigationSource und restoreState zu NavigationStart hinzu - Derzeit gibt es keine Möglichkeit zu wissen, ob die Navigation zwingend oder über die Standortänderung ausgelöst wurde. Diese beiden Anwendungsfälle sollten für eine Vielzahl von Anwendungsfällen (z. B. Wiederherstellung der Bildlaufposition) unterschiedlich behandelt werden. Dieses PR fügt ein Navigationsquellenfeld und eine wiederhergestellte Navigations-ID hinzu (wird an Navigationen übergeben, die durch eine URL-Änderung ausgelöst wurden).

22) Typ und Hooks zur Direktive def hinzufügen

23) Aktivieren Sie die Größenverfolgung einer minimalen CLI-Render3-Anwendung

24) Hinzufügen einer kanonischen Ansichtsabfrage

25) Sprachdienst - Die Version 2.6 von "resolModuleName" von TypeScript erforderte, dass die übergebenen Pfade durch "/" getrennt werden, anstatt mit "\" umgehen zu können.

Für weitere Details: Hier klicken

11
  1. Sie können Ihre Winkel-5-App auf den Winkel v6 aktualisieren, Diese URL http://www.talkingdotnet.com/upgrade-angular-5-app-angular-6-visual-studio-2017/

  2. Sie können auch die wichtigsten Änderungen zwischen Winkel 5 und Winkel 6 sehen., https://dzone.com/articles/angular-6-release-vs-angular-5-neueFeatures-und-im

3
ketan chaudhari

In Angular 6 ist dieser Dekorateur standardmäßig mit der Eigenschaft "providedIn" konfiguriert, die einen Anbieter für den Dienst erstellt. In diesem Fall geben Sie mit Angabe von In: 'root' an, dass der Dienst im Root-Injektor bereitgestellt werden soll.

@Injectable({
    providedIn: 'root'
})
export class ApiService{
 //.......}

Weitere Referenz hier