Maison > interface Web > js tutoriel > Parlez de l'utilisation des modules angulaires et du chargement paresseux

Parlez de l'utilisation des modules angulaires et du chargement paresseux

青灯夜游
Libérer: 2021-02-01 11:47:32
avant
2138 Les gens l'ont consulté

Parlez de l'utilisation des modules angulaires et du chargement paresseux

Recommandations de didacticiel associées : angularjs (tutoriel vidéo)

1. 🎜>

Parlez de lutilisation des modules angulaires et du chargement paresseux2. Modules personnalisés angulaires

Lorsque notre projet est relativement petit, nous n'avons 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
Copier après la connexion

Parlez de lutilisation des modules angulaires et du chargement paresseuxCré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éez-en un nouveau. Les composants d'adresse, de commande et de 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 ?

La référence au composant utilisateur dans le fichier modèle app.component.html du composant racine de l'application signalera une erreur

Le traitement suivant est requis avant de pouvoir y accéder


Introduit dans le module app.module.ts

Parlez de lutilisation des modules angulaires et du chargement paresseux

    le module utilisateur expose les composants accessibles au monde extérieur

  1. Parlez de lutilisation des modules angulaires et du chargement paresseux

  2. Introduisez
  3. <app-user></app-user>
    Copier après la connexion
  4. dans le modèle racine app.component.html Si vous devez utiliser le composant app-address directement à la racine. composant, vous devez également d'abord l'ajouter au module utilisateur user.module. ts expose

/

Les composants exposés permettent à d'autres modules d'utiliser des composants exposés

/ exports :[UserComponent, AddressComponent]
Comment monter le produit dans le module racine Qu'en est-il des modules ?

Identique à ci-dessus

Créer un service sous le module utilisateur

    Créer
  1. ng g service module/user/services/common


  2. Introduire les services dans le module utilisateur
  3. user.module.ts


Parlez de lutilisation des modules angulaires et du chargement paresseuxConfigurer le routage pour implémenter le chargement différé du module

Parlez de lutilisation des modules angulaires et du chargement paresseuxCré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 exemple :

Chargement paresseux de configuration angulaire

Dans le routage angulaire, vous pouvez charger à la fois des composants et des modules, et ce que nous appelons le chargement paresseux signifie en fait le chargement de modules. Il n'y a pas encore d'exemples de chargement paresseux de composants.

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.

Configurer le sous-routage

Configurer le sous-routage dans le product-routing.module.ts du module produit
  1. 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
Dans le module de produit Modèle product.component.html Ajouter router-outlet
  1. <router-outlet></router-outlet>
    Copier après la connexion
Ajouter un menu à la page app.component.html pour un saut facile
  1. <a [routerLink]="[&#39;/product&#39;]">商品模块</a>
    <a [routerLink]="[&#39;/product/plist&#39;]">商品列表</a>
    Copier après la connexion
    Plus de programmation Connaissances associées, visitez : Cours d'apprentissage en programmation

     ! !

    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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal