Cet article vous présentera le modèle racine et le modèle de fonctionnalité dansAngular10. 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.
suppose que
.Angular cli
est installé. La plupart des créations de fichiers suivantes reposent sur les instructions fournies parcli
Angular
La différence entre le modèle de fonctionnalité et le modèle racine (AppModule
)est que le modèle de fonctionnalité peut diviser l'application My. la compréhension personnelle est similaire à la composantisation
1. Instructions pour créer des modèles de fonctionnalitésng g module article
,ng g module article --routing
est utilisé ici, qui peut générer unarticle-routing.module.ts
fichier de routage. [Tutoriels associés recommandés : "tutoriel angulaire"]
2 À ce moment,CLI
créera un autre dossierapp
,article
fichier sous le dossierarticle
. le dossier contient deux fichiersarticle.module.ts
etarticle-routing.module.ts
3. Utilisezng g component
pour générer deux composants, spécifiez le modèle commearticle
, et le modèle spécifié sera automatiquement importé dansarticle.modules.ts
, et Enregistrez-vous dans le tableaudeclarations
,Remarque : ne supprimez pas les composants enregistrés dansdeclarations
, sinon certaines spécifications du composant deviendront inutilisables
ng g component article/article-list -m=article
, générez le composant du dossierarticle
article-list
ng g component article/article-create -m=article
, générez le dossierarticle
sous le dossierarticle-create
Composants4,article.module.ts
Dans le module de fonctionnalités généré par CLI, il y a deux instructions d'importation JavaScript en haut du fichier : la première importeNgModule
, qui vous permet d'utiliser le@NgModule
décorateur ; le second importeCommonModule
, qui fournit de nombreuses directives communes commengIf
etngFor
. Les modules de fonctionnalités importentCommonModule
, pasBrowserModule
, qui ne doit être importé qu'une seule fois dans le module racine.CommonModule
ne contient que des informations sur les directives couramment utilisées, telles quengIf
etngFor
, qui sont utilisées dans la plupart des modèles, tandis queBrowserModule
n'est utilisée qu'une seule fois pour la configuration de l'application effectuée par le navigateur.
import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ArticleRoutingModule } from './article-routing.module'; import { ArticleListComponent } from './article-list/article-list.component'; import { ArticleCreateComponent } from './article-create/article-create.component'; @NgModule({ declarations: [ArticleListComponent, ArticleCreateComponent], imports: [ CommonModule, ArticleRoutingModule ] }) export class ArticleModule { }
5,article-routing.module.ts
,configuration imbriquée de l'adresse de routage, le paramètre d'adresse ici est dû au fait que le préfixe de routage du module actuel a été défini sur < dans leapp-routing.module
routage racine module >, donc les routes suivantes ne peuvent être définies que directement, et le préfixe de route défini par la route racine est apporté lors de l'accès.article
article
L'adresse d'accès doit êtrelist
article/list
import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { ArticleListComponent } from './article-list/article-list.component' import { ArticleCreateComponent } from './article-create/article-create.component' const routes: Routes = [ { path: '', children: [ { path: '', pathMatch:'full', redirectTo: '/article/list' }, { path: 'list', component: ArticleListComponent }, { path: 'create', component: ArticleCreateComponent } ] } ] @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class ArticleRoutingModule {}
fichier, vous pouvez configurer le routage globalapp.mudles.ts
import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FormsModule, HttpClientModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
app-routing.module
7. chargement paresseux Module de fonctionnalités
Par défaut,
est chargé avec impatience, ce qui signifie qu'il sera chargé dès le chargement de l'application. Cela est vrai pour tous les modules, qu'ils soient nécessaires immédiatement ou non. Pour les applications plus volumineuses comportant de nombreux itinéraires, envisagez d'utiliser le chargement différé, un modèle de chargement à la demandeapp-routing.module.ts
. Le chargement paresseux réduit la taille initiale du bundle et donc le temps de chargement.loadChildren
import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { LoginComponent } from './login/login.component' const routes: Routes = [ { path: 'login', component: LoginComponent }, { path: 'article', loadChildren: () => import('./article/article.module').then((m) => m.ArticleModule) } ] @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule {}
NgModule
ci-dessous
NgModule
, saisissez l'adresse dans le navigateur
article
list
create
article/list
article/list
article/create
Enseignement de la programmationCe 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!