287 votes

Quelle est la différence entre un composant et un module Angular ?

J'ai regardé des vidéos et lu des articles, mais ce article spécifique me rendent si confuse, au début de l'article il est dit que

Les applications en Angular suivent une structure modulaire. Les applications Angular contiennent de nombreux modules, chacun étant dédié à un objectif unique. Un module est généralement un groupe de code cohésif qui est intégré aux autres modules pour faire fonctionner vos applications Angular.

Un module exporte certaines classes, fonctions et valeurs de son code. Le composant est un bloc fondamental d'Angular et plusieurs composants composeront votre application.

Un module peut être une bibliothèque pour un autre module. Par exemple, la bibliothèque angular2/core, qui est un module de bibliothèque Angular primaire, sera importée par un autre composant.

S'agit-il de termes échangeables ? Un composant est-il un module ? Mais pas l'inverse ?

353voto

Sefa Points 4185

Les composants contrôlent les vues (html). Ils communiquent également avec d'autres composants et services pour apporter des fonctionnalités à votre application.

Les modules sont constitués d'un ou plusieurs composants. Ils ne contrôlent aucun html. Vos modules déclarent quels composants peuvent être utilisés par les composants appartenant à autre les modules, les classes qui seront injectées par l'injecteur de dépendances et le composant qui sera démarré. Les modules vous permettent de gérer vos composants pour apporter de la modularité à votre application.

350voto

Sajeetharan Points 108195

Il est trop tard pour poster une réponse, mais je pense qu'elle le sera. easy pour comprendre qui sont les débutants avec Angular . Un des exemples que j'ai donné lors de ma présentation.

Considérez votre application angulaire comme un Building . Un bâtiment peut avoir un nombre N de Apartments en elle. Un site Apartment est considéré comme un Module . Un appartement peut avoir N nombre de rooms qui correspondent aux éléments constitutifs d'une application Angular nommée Components .

Maintenant, chaque Apartment (Module) aura Rooms (Components) , Lifts (Services) pour permettre une plus grande circulation dans et hors des appartements, Wires (Pipes) pour déplacer les informations et les rendre utiles dans les appartements.

Vous aurez également des endroits comme swimming pool, tennis court qui sont partagés par tous les résidents du bâtiment. Ils peuvent donc être considérés comme des composants à l'intérieur de SharedModule.

En gros, la différence est la suivante,

enter image description here

Suivez mes diapositives pour comprendre le les éléments constitutifs d'une application Angular

6 votes

Un exemple très simple et bon. Mais une chose me perturbe à nouveau, vous avez dit que les tuyaux déplacent les données (transport), est-ce exact ? Pour autant que je sache, les tuyaux servent à transformer les données.

0 votes

C'est exact, probablement avec la réponse éditée, elle a été modifiée. Merci de le rappeler !

6 votes

L'analogie avec les tuyaux est toujours fausse (transformer = changer). Je dirais que les tuyaux sont comme des cuisines dans le bâtiment, où vous pouvez transformer des ingrédients bruts (données brutes) en différentes sortes de nourriture que vous voulez (cuite, poivrée, frite, au four, etc.). Ou vous pourriez dire que les tuyaux sont comme des ateliers dans le bâtiment, où vous pouvez utiliser différentes machines automatisées pour modifier facilement votre objet selon vos besoins - mettez-les dedans, et faites-les modifier dehors :)

117voto

wins999 Points 336

enter image description here

L'explication la plus simple :

Module est comme un grand conteneur contenant un ou plusieurs petits conteneurs appelés Composant, Service, Tube

A Composant contient :

  • Modèle HTML ou code HTML

  • Code(TypeScript)

  • Service : Il s'agit d'un code réutilisable qui est partagé par les composants de sorte que réécriture du code n'est pas nécessaire

  • Le tuyau : Il prend les données en entrée et les transforme en sortie souhaitée.

.

3 votes

Je n'aime pas trop tout ça. Oui, votre composant va utiliser un service, mais ce service doit être indiqué dans le module, dans le tableau des providers. Votre schéma ne le montre pas.

0 votes

Puis-je ajouter un module enfant à l'intérieur d'un composant et plusieurs composants à ce module ?

1 votes

Ce n'est pas correct. Un composant CONTIENT un modèle (html), des styles (css/less/scss), un contrôleur (typescript), et un fichier spec pour les tests (typescript). Il UTILISE un tuyau ou un service qui se trouve dans le même module que le composant ou exporté par un autre module.

46voto

Sunil Garg Points 4004

Composant Angulaire

Un composant est l'une des composantes de base d'une application Angular. Une application peut avoir plus d'un composant. Dans une application normale, un composant contient un fichier de classe de page HTML, un fichier de classe qui contrôle le comportement de la page HTML et le fichier CSS/scss pour styliser votre vue HTML. Un composant peut être créé à l'aide de @Component qui fait partie de @angular/core module.

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

et pour créer un composant

@Component({selector: 'greet', template: 'Hello {{name}}!'})
class Greet {
  name: string = 'World';
}

Pour créer un composant ou une application angulaire, voici la procédure à suivre. tutoriel

Module Angulaire

Un site module angulaire est un ensemble de blocs de construction angulaires de base comme composant , directives , services etc. Une application peut comporter plus d'un module.

Un module peut être créé en utilisant @NgModule décorateur.

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

16voto

Jayani Sumudini Points 730

Un module dans Angular 2 est quelque chose qui est fait à partir de composants, de directives, de services, etc. Un ou plusieurs modules se combinent pour former une application. Les modules décomposent l'application en morceaux de code logiques. Chaque module exécute une seule tâche.

Dans Angular 2, les composants sont des classes dans lesquelles vous écrivez votre logique pour la page que vous voulez afficher. Les composants contrôlent la vue (html). Les composants communiquent avec d'autres composants et services.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X