Table des matières
Cet article présente le plan de mise à niveau d'angularjs2+ à partir de angularjs1.x, et présente également le parallélisme entre angulairejs1.x et angulairejs2+. Lisons maintenant cet article ensemble" >Cet article présente le plan de mise à niveau d'angularjs2+ à partir de angularjs1.x, et présente également le parallélisme entre angulairejs1.x et angulairejs2+. Lisons maintenant cet article ensemble
solution de mise à niveau angulaire1.x angulaire2+" >solution de mise à niveau angulaire1.x angulaire2+
Maison interface Web js tutoriel angulaire1.x et angulaire2+ fonctionnent en parallèle, mise à niveau angulaire1.x de la solution angulaire2+

angulaire1.x et angulaire2+ fonctionnent en parallèle, mise à niveau angulaire1.x de la solution angulaire2+

Sep 07, 2018 pm 05:33 PM
angular.js javascript typescript

Cet article présente le plan de mise à niveau d'angularjs2+ à partir de angularjs1.x, et présente également le parallélisme entre angulairejs1.x et angulairejs2+. Lisons maintenant cet article ensemble

.

solution de mise à niveau angulaire1.x angulaire2+

Je vous propose une solution de mise à niveau parallèle et incrémentielle pour angulaire1 Pour votre propre application, si vous ne souhaitez pas lire le texte, démarrez simplement la démo migration-from-angular1.x-to-angular2Plus

  • Option 1 : le corps principal est angulaire1.x et ajoutez progressivement un service, un composant, un filtre, un contrôleur, une route , et les dépendances sont mises à niveau vers angulaire5

  • Option 2 : le corps principal est angulaire5. Tous les fichiers js du projet sont traités une fois et chaque fichier js est traité à l'aide du module ES6 exporter, puis rapprocher progressivement le contenu d'angular5

Je recommande de choisir l'option 1 pour une mise à niveau incrémentielle, en exécutant ces deux frameworks ensemble dans la même application, et de migrer les composants AngularJS vers Angular un par un. Vous pouvez mettre à niveau l'application sans interrompre d'autres activités, car ce travail peut être effectué par plusieurs personnes et déployé progressivement sur une période de temps. Ce qui suit est une explication de l'option 1

L'application hybride repose principalement. sur Angular pour fournir des modules de mise à niveau/statiques. Vous le verrez partout dans le futur. Ce qui suit vous apprendra étape par étape comment migrer angulaire1 vers la propriété angulaire.module. Dans Angular, nous créons une ou plusieurs classes avec des décorateurs NgModule, qui sont utilisés pour décrire les ressources Angular dans les métadonnées. Dans une application hybride, nous exécutons simultanément deux versions d'Angular. Cela signifie que nous avons besoin d'au moins un module d'AngularJS et d'Angular. Pour démarrer une application hybride, nous devons démarrer à la fois Angular et AngularJS dans l'application. Vous devez d'abord amorcer Angular, puis appeler UpgradeModule pour amorcer AngularJS. Supprimez les directives ng-app et ng-strict-di du code HTML, créez un fichier app.module.ts et ajoutez la classe NgModule suivante :

Utilisez AppModule.ngDoBootstrap Méthode pour démarrer l'application AngularJS, nous pouvons maintenant utiliser la méthode platformBrowserDynamic.bootstrapModule pour démarrer l'AppModule.

main.ts :

Nous sommes sur le point de commencer à exécuter une application hybride AngularJS+5 ! Tout le code AngularJS existant fonctionnera normalement comme avant, mais nous pouvons également exécuter du code Angular maintenant

1

2

3

4

5

6

7

8

9

10

11

12

import { UpgradeModule } from '@angular/upgrade/static';

@NgModule({   

  imports: [  

    UpgradeModule

  ]

})

export class AppModule {

  constructor(private upgrade: UpgradeModule) { }    

  ngDoBootstrap() {

    this.upgrade.bootstrap(document.body, ['yourAngularJsAppName'], { strictDi: true });

  }

}

Copier après la connexion

2. Mettez progressivement à niveau les services du projet vers angulaire5

Nous mettons à niveau le contenu de username-service.js vers username-service.ts :

1

2

3

4

5

import {AppModule} from './app/app.module';

import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";

 

platformBrowserDynamic().bootstrapModule(AppModule)

  .catch(err => console.log(err));

Copier après la connexion

Pour utiliser UsernameService dans angulaire1.x, créez d'abord un fichier downgrade-services.ts, ici il stockera tous les services utilisés dans angulaire1. .x après la rétrogradation des services angulaires5

downgrade-services.ts :

Après avoir terminé ces deux étapes, UsernameService peut être utilisé dans le service de composant du contrôleur angulaire1.x Une fois l'injection utilisée, Je ne donnerai pas d'exemple de comment l'utiliser dans angulaire5. Suivez simplement la méthode d'utilisation de angulaire5

1

2

3

4

5

6

7

import { Injectable } from '@angular/core';

@Injectable() 

export class UsernameService {

  get() {

    return 'nina'

  }

}

Copier après la connexion

3. Le filtre du projet est progressivement mis à niveau vers le tube angulaire5, et en même temps. angulaire1.x Le filtre est toujours conservé

En raison du problème de performances du filtre, le filtre a été remplacé par pipe dans angulaire2. L'équipe angulaire ne fournit pas de module pour mettre à niveau le filtre vers pipe ou rétrograder. pipe à filtrer, il est donc utilisé dans le filtre angulaire 1.x, le tuyau est utilisé dans angulaire et la mise à niveau du filtre est placée avant le composant, car le modèle de composant peut utiliser

1

2

3

4

5

import * as angular from 'angular';

import { downgradeInjectable } from '@angular/upgrade/static';

import { UsernameService  } from './services/ username-service '

angular.module('yourAngularJsAppName')

  .factory('UsernameService', downgradeInjectable(UsernameService));

Copier après la connexion

username-pipe.ts :

4. Les composants du projet sont progressivement mis à niveau vers les composants d'angular5

Nous mettons à niveau le contenu de hero-detail.js vers hero-detail.ts. :

1

2

3

4

5

6

7

8

9

import { Pipe, PipeTransform } from '@angular/core';

Pipe({

  name: 'username'

})

export class usernamePipe implements PipeTransform { 

  transform(value: string): string {

    return value === 'nina' '张三' : value;

  }

}

Copier après la connexion
doit être dans angulaire1. Pour utiliser le composant hero-detail dans x, créez d'abord un fichier downgrade-components.ts, qui stockera tous les composants utilisés dans

Vous pouvez maintenant utiliser le composant hero-detail dans le modèle dans angulaire1. Le contrôleur a été remplacé par le composant angulaire5t

Maintenant, seul le contrôleur Angular2 a annulé le contrôleur. comme un gros composant, nous reconstruisons donc le contrôleur selon la méthode des composants, et une fois le nouveau composant déclassé et le contrôleur reconstruit, nous devons modifier le routage d'angular1.x. une route correspond à un contrôleur. A ce moment, le routage peut être modifié comme ceci :

Supposons TestContentCtrl, la route correspondante est test (si vous voulez en savoir plus, rendez-vous sur le site PHP chinois

1

2

3

4

5

6

7

8

9

10

11

12

13

import { Component, EventEmitter, Input, Output, ViewContainerRef } from '@angular/core';

import { UsernameService } from '../../service/username-service';

@Component({

  selector: 'hero-detail',

  templateUrl: './hero-detail.component.html'

})

export class HeroDetailComponent {

  Public hero: string;

   

  constructor(private usernameService: UsernameService) {

      this.hero = usernameService.get()

  }

}

Copier après la connexion
Manuel de développement AngularJS

à apprendre)

Après avoir modifié TestContentCtrl en composant de contenu de test

1

2

3

4

5

import * as angular from 'angular';

import { downgradeComponent } from '@angular/upgrade/static';

import { HeroDetailComponent } from './app/components/hero-detail/hero-detail.component';

angular.module('yourAngularJsAppName')

  .directive('heroDetail', downgradeComponent({ component: HeroDetailComponent }) as angular.IDirectiveFactory)

Copier après la connexion

6. 🎜>

Concernant les plug-ins ou bibliothèques basés sur angulaire1.x qui sont référencés dans le projet, vous pouvez essentiellement trouver la version angulaire2+. Vous pouvez introduire la version angulaire2+ pour le traitement de rétrogradation et elle peut ensuite être utilisée dans angulaire1.x, mais. ~~~, angulaire2+ De nombreuses API ont été modifiées dans la version, et les méthodes d'utilisation correspondantes dans angulaire1 Après cela, si le plug-in est utilisé dans l'application angulaire1, x utilise angulaire1. L'option 2 est un bon choix sans affecter le temps de chargement du premier écran, car parcourir toutes les API de tous les plug-ins ou bibliothèques en même temps représente une charge de travail relativement importante et sujette aux erreurs, et elle n'est pas conforme à notre version originale. intention de mise à niveau incrémentielle

  • Maintenant que pratiquement tout le contenu du projet a été mis à niveau vers angulaire5, nous pouvons supprimer les deux fichiers downgrade-services.ts et downgrade-components.ts, et mettez à niveau le routage vers angulaire5. Supprimez les bibliothèques et plug-ins liés à l'étude angulaire1 dans le manuel

    ), si vous avez des questions, vous pouvez laisser un message ci-dessous.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

JavaScript et WebSocket : créer un système de traitement d'images en temps réel efficace JavaScript et WebSocket : créer un système de traitement d'images en temps réel efficace Dec 17, 2023 am 08:41 AM

JavaScript est un langage de programmation largement utilisé dans le développement Web, tandis que WebSocket est un protocole réseau utilisé pour la communication en temps réel. En combinant les puissantes fonctions des deux, nous pouvons créer un système efficace de traitement d’images en temps réel. Cet article présentera comment implémenter ce système à l'aide de JavaScript et WebSocket, et fournira des exemples de code spécifiques. Tout d’abord, nous devons clarifier les exigences et les objectifs du système de traitement d’images en temps réel. Supposons que nous disposions d'un appareil photo capable de collecter des données d'image en temps réel.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

See all articles