Maison interface Web js tutoriel Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Mar 02, 2021 am 10:28 AM
angular 懒加载 模块

Cet article vous présentera l'utilisation et le chargement paresseux des modules Angular. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Recommandations associées : "Tutoriel angulaire"

1.

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

2. Module personnalisé angulaire

Lorsque notre projet est relativement petit Pas besoin de modules personnalisés. Mais lorsque notre projet est très volumineux, il n'est pas particulièrement approprié de monter tous les composants dans le module racine. Nous pouvons donc à ce moment personnaliser des modules pour organiser nos projets. Et le chargement paresseux des itinéraires peut être réalisé grâce aux modules personnalisés Angular.

ng g module mymodule

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Créer un nouveau module utilisateur

ng g module module/user
Copier après la connexion

Créer un nouveau composant racine sous le module utilisateur

ng g component module/user
Copier après la connexion

Créer un nouveau composant adresse, commande, profil sous le module utilisateur

ng g component module/user/components/address
 ng g component module/user/components/order
 ng g component module/user/components/profile
Copier après la connexion

Comment monter le module utilisateur dans le module racine ?

Lors du référencement du composant utilisateur dans le fichier modèle app.component.html du composant racine de l'application, une erreur sera signalée
Le traitement suivant est requis avant de pouvoir y accéder

1. Dans l'application .module.ts introduit des modules

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

2. Le module utilisateur expose les composants accessibles au monde extérieur

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

3 , introduisez

<app-user></app-user>
Copier après la connexion

dans le modèle racine app.component.html Si vous devez utiliser le composant app-address directement dans le composant racine, vous en avez également besoin. pour exposer

/ dans le module utilisateur user.module.ts en premier L'exposition des composants permet à d'autres modules d'utiliser des composants exposés/
exports :[UserComponent,AddressComponent]

Comment monter le module produit dans le module racine ?

Identique à ci-dessus

Créer des services sous le module utilisateur

Créer
1.

ng g service module/user/services/common
Copier après la connexion

2. Introduire les services dans le module utilisateur

user.module.ts
Copier après la connexion

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Configurer le routage pour implémenter le chargement paresseux du module

Une plongée approfondie dans les modules et le chargement paresseux dans Angular

Créer un module :

ng g module module/user --routing
 ng g module module/article --routing
 ng g module module/product --routing
Copier après la connexion

Créer un composant :

ng g component module/user
ng g component module/user/components/profile
ng g component module/user/components/order

ng g component module/article
ng g component module/article/components/articlelist ng g component module/article/components/info

ng g component module/product
ng g component module/product/components/plist
ng g component module/product/components/pinfo
Copier après la connexion

Ici, nous prenons l'article comme un exemple :

chargement paresseux de configuration angulaire

Le routage en angulaire peut charger à la fois des composants et des modules, et ce que nous appelons le chargement paresseux consiste en fait à charger des modules , il n'y a pas encore d'exemples de composants à chargement différé.
Pour charger un composant, utilisez le mot-clé composant
Pour charger un module, utilisez le mot-clé loadChildren

1 Créez un nouveau contenu app-routing.module.ts

dans. le dossier app Comme suit :

import { NgModule } from &#39;@angular/core&#39;;
import { Routes, RouterModule } from &#39;@angular/router&#39;;
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }
Copier après la connexion

forRoot est utilisé dans le module racine pour charger la configuration de routage,
et forChild est utilisé dans les sous-modules pour charger la configuration de routage.

Remarque : Vous devez importer le module AppRoutingModule dans le modèle racine app.module.ts

import { AppRoutingModule } from &#39;./app-routing.module&#39;;
...
imports: [
    AppRoutingModule,
]
Copier après la connexion

2 Configurez le routage dans le sous-module

dans modulearticlearticle-routing. .module.ts Configurer le routage dans

    import { NgModule } from &#39;@angular/core&#39;;
    import { Routes, RouterModule } from &#39;@angular/router&#39;;

    // import {ArticleComponent} from &#39;./article.component&#39;;
    const routes: Routes = [
    // {
    //     path:&#39;&#39;,
    //     component:ArticleComponent
    // }
    ];

    @NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule]
    })
    export class ArticleRoutingModule { }
Copier après la connexion

Vous pouvez également ajouter le module de routage lors de la création d'un nouveau projet, et vous pouvez omettre la configuration ci-dessus

dans article-routing.module de le module de l'article.ts configure le routage

.....

import {ArticleComponent} from &#39;./article.component&#39;;
const routes: Routes = [
  {
    path:&#39;&#39;,
    component:ArticleComponent
  }
];

......
Copier après la connexion

3. Configurez le routage dans le module de routage de l'application

const routes: Routes = [
  {
    path:&#39;article&#39;,
    //写法一:
    loadChildren:&#39;./module/article/article.module#ArticleModule&#39;

    //写法二
    // loadChildren: () => import(&#39;./module/user/user.module&#39;).then( m => m.UserModule)  
  },
  // {
  //   path:&#39;user&#39;,loadChildren:&#39;./module/user/user.module#UserModule&#39;
  // },
  // {
  //   path:&#39;product&#39;,loadChildren:&#39;./module/product/product.module#ProductModule&#39;
  // },
  {
    path:&#39;**&#39;,redirectTo:&#39;article&#39;
  }
];
Copier après la connexion

Si vous n'avez pas ajouté –routing lors de la création d'un nouveau module. avant, vous devez configurer le module Le routage du

module produit
Le routage du produit : moduleproductproduct-routing.module.ts

import { NgModule } from &#39;@angular/core&#39;;
import { Routes, RouterModule } from &#39;@angular/router&#39;;

import {ProductComponent} from &#39;./product.component&#39;;
const routes: Routes = [
  {
    path:&#39;&#39;,
    component:ProductComponent
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class ProductRoutingModule { }
Copier après la connexion

Le module de produit :
moduleproductproduct.module .ts

import { ProductRoutingModule } from &#39;./product-routing.module&#39;;

imports: [
    ProductRoutingModule
  ],
Copier après la connexion

module utilisateur
routage utilisateur : moduleuseruser-routing.module.ts

import { NgModule } from &#39;@angular/core&#39;;
import { Routes, RouterModule } from &#39;@angular/router&#39;;

import {UserComponent} from &#39;./user.component&#39;;
const routes: Routes = [
  {
    path:&#39;&#39;,
    component:UserComponent
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class UserRoutingModule { }
Copier après la connexion

module utilisateur : moduleuseruser.module.ts

import {UserRoutingModule} from &#39;./user-routing.module&#39;;  +

 imports: [
    UserRoutingModule   +
  ],
Copier après la connexion

RouterModule.forRoot() et RouterModule.forChild()

L'objet RouterModule fournit deux méthodes statiques : forRoot() et forChild( ) pour configurer les informations de routage.

La méthode RouterModule.forRoot() est utilisée pour définir les informations de routage principales dans le module principal. RouterModule.forChild() est similaire à la méthode Router.forRoot(), mais elle ne peut être appliquée que dans les modules de fonctionnalités. .

C'est-à-dire que forRoot() est utilisé dans le module racine et forChild() est utilisé dans le sous-module.

配置子路由

1、在商品模块的路由product-routing.module.ts 配置子路由

import { PlistComponent } from &#39;./components/plist/plist.component&#39;;
import { CartComponent } from &#39;./components/cart/cart.component&#39;;
import { PinfoComponent } from &#39;./components/pinfo/pinfo.component&#39;;

const routes: Routes = [
  {
    path:&#39;&#39;,
    component:ProductComponent,
    children:[
      {path:&#39;cart&#39;,component:CartComponent},
      {path:&#39;pcontent&#39;,component:PinfoComponent}
    ]
  },
  {path:&#39;plist&#39;,component:PlistComponent}
];
Copier après la connexion

2、在商品模块的模板product.component.html 添加router-outlet

<router-outlet></router-outlet>
Copier après la connexion

3、在页面app.component.html添加菜单,方便跳转

<a [routerLink]="[&#39;/product&#39;]">商品模块</a><a [routerLink]="[&#39;/product/plist&#39;]">商品列表</a>
Copier après la connexion

更多编程相关知识,请访问:编程视频!!

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)

Le module d'extension WLAN s'est arrêté [correctif] Le module d'extension WLAN s'est arrêté [correctif] Feb 19, 2024 pm 02:18 PM

S'il y a un problème avec le module d'extension WLAN sur votre ordinateur Windows, cela peut entraîner une déconnexion d'Internet. Cette situation est souvent frustrante, mais heureusement, cet article propose quelques suggestions simples qui peuvent vous aider à résoudre ce problème et à rétablir le bon fonctionnement de votre connexion sans fil. Réparer le module d'extensibilité WLAN s'est arrêté Si le module d'extensibilité WLAN a cessé de fonctionner sur votre ordinateur Windows, suivez ces suggestions pour le réparer : Exécutez l'utilitaire de résolution des problèmes réseau et Internet pour désactiver et réactiver les connexions réseau sans fil Redémarrez le service de configuration automatique WLAN Modifier les options d'alimentation Modifier Paramètres d'alimentation avancés Réinstaller le pilote de la carte réseau Exécuter certaines commandes réseau Examinons-le maintenant en détail

Le module d'extensibilité WLAN ne peut pas démarrer Le module d'extensibilité WLAN ne peut pas démarrer Feb 19, 2024 pm 05:09 PM

Cet article détaille les méthodes permettant de résoudre l'événement ID10000, qui indique que le module d'extension LAN sans fil ne peut pas démarrer. Cette erreur peut apparaître dans le journal des événements du PC Windows 11/10. Le module d'extensibilité WLAN est un composant de Windows qui permet aux fournisseurs de matériel indépendants (IHV) et aux fournisseurs de logiciels indépendants (ISV) de fournir aux utilisateurs des fonctionnalités de réseau sans fil personnalisées. Il étend les fonctionnalités des composants réseau Windows natifs en ajoutant la fonctionnalité par défaut de Windows. Le module d'extensibilité WLAN est démarré dans le cadre de l'initialisation lorsque le système d'exploitation charge les composants réseau. Si le module d'extension LAN sans fil rencontre un problème et ne peut pas démarrer, vous pouvez voir un message d'erreur dans le journal de l'Observateur d'événements.

Comment installer Angular sur Ubuntu 24.04 Comment installer Angular sur Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

Angular.js est une plateforme JavaScript librement accessible pour créer des applications dynamiques. Il vous permet d'exprimer rapidement et clairement divers aspects de votre application en étendant la syntaxe HTML en tant que langage de modèle. Angular.js fournit une gamme d'outils pour vous aider à écrire, mettre à jour et tester votre code. De plus, il offre de nombreuses fonctionnalités telles que le routage et la gestion des formulaires. Ce guide expliquera comment installer Angular sur Ubuntu24. Tout d’abord, vous devez installer Node.js. Node.js est un environnement d'exécution JavaScript basé sur le moteur ChromeV8 qui vous permet d'exécuter du code JavaScript côté serveur. Être à Ub

Explication détaillée de la fonction paresseuse dans Vue3 : le chargement paresseux des composants améliore les performances de l'application Explication détaillée de la fonction paresseuse dans Vue3 : le chargement paresseux des composants améliore les performances de l'application Jun 19, 2023 am 08:39 AM

Vue3 est un framework JavaScript populaire, facile à apprendre et à utiliser, efficace et stable, et particulièrement efficace pour créer des applications monopage (SPA). La fonction paresseuse de Vue3, en tant que l'un des outils puissants de chargement paresseux de composants, peut considérablement améliorer les performances de l'application. Cet article expliquera en détail l'utilisation et les principes de la fonction paresseuse dans Vue3, ainsi que ses scénarios d'application et ses avantages dans le développement réel. Qu’est-ce que le chargement paresseux ? Dans le développement front-end et back-end traditionnel, les développeurs front-end doivent souvent gérer un grand nombre de

Comment Vue implémente-t-il le chargement et le préchargement paresseux des composants ? Comment Vue implémente-t-il le chargement et le préchargement paresseux des composants ? Jun 27, 2023 pm 03:24 PM

À mesure que les applications Web deviennent de plus en plus complexes, les développeurs front-end doivent mieux fournir des fonctionnalités et une expérience utilisateur tout en garantissant des vitesses de chargement des pages. Cela implique un chargement et un préchargement paresseux des composants Vue, qui sont des moyens importants pour optimiser les performances des applications Vue. Cet article fournira une introduction approfondie aux méthodes d'implémentation de chargement paresseux et de préchargement des composants Vue. 1. Qu'est-ce que le chargement différé ? Le chargement différé signifie que le code d'un composant ne sera chargé que lorsque l'utilisateur aura besoin d'y accéder, au lieu de charger le code de tous les composants au début.

Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Composants angulaires et leurs propriétés d'affichage : comprendre les valeurs par défaut non bloquantes Mar 15, 2024 pm 04:51 PM

Le comportement d'affichage par défaut des composants du framework Angular ne concerne pas les éléments au niveau du bloc. Ce choix de conception favorise l'encapsulation des styles de composants et encourage les développeurs à définir consciemment la manière dont chaque composant est affiché. En définissant explicitement l'affichage des propriétés CSS, l'affichage des composants angulaires peut être entièrement contrôlé pour obtenir la mise en page et la réactivité souhaitées.

Authentification basée sur des jetons avec Angular et Node Authentification basée sur des jetons avec Angular et Node Sep 01, 2023 pm 02:01 PM

L'authentification est l'une des parties les plus importantes de toute application Web. Ce didacticiel traite des systèmes d'authentification basés sur des jetons et de leurs différences par rapport aux systèmes de connexion traditionnels. À la fin de ce didacticiel, vous verrez une démo entièrement fonctionnelle écrite en Angular et Node.js. Systèmes d'authentification traditionnels Avant de passer aux systèmes d'authentification basés sur des jetons, examinons les systèmes d'authentification traditionnels. L'utilisateur fournit son nom d'utilisateur et son mot de passe dans le formulaire de connexion et clique sur Connexion. Après avoir effectué la demande, authentifiez l'utilisateur sur le backend en interrogeant la base de données. Si la demande est valide, une session est créée à l'aide des informations utilisateur obtenues à partir de la base de données et les informations de session sont renvoyées dans l'en-tête de réponse afin que l'ID de session soit stocké dans le navigateur. Donne accès aux applications soumises à

Solution au problème d'échec de l'image de chargement paresseux de Vue Solution au problème d'échec de l'image de chargement paresseux de Vue Jun 29, 2023 pm 10:42 PM

Comment résoudre le problème de l'échec du chargement paresseux des images dans le développement Vue Le chargement paresseux (LazyLoad) est l'une des technologies d'optimisation couramment utilisées dans le développement Web moderne, en particulier lors du chargement d'un grand nombre d'images et de ressources, il peut réduire efficacement la charge. la page et améliorer l’expérience utilisateur. Cependant, lors du développement à l'aide du framework Vue, nous pouvons parfois rencontrer le problème d'un échec de chargement paresseux des images. Cet article présentera quelques problèmes courants et solutions afin que les développeurs puissent mieux résoudre ce problème. Erreur de chemin de ressource image Tout d’abord, nous devons nous assurer que la ressource image

See all articles