2017-09-13 3 views
2

Donc, dans Angular 2, beaucoup de choses ont été améliorées par rapport à Angular1 (AngularJS). Je suis vraiment content. Mais ce qui me confond le plus est à mon avis appellation incompatible:Pourquoi Angular 2 nomme-t-il un module NgModule et pas seulement Module

Composant: @Component
Module: @NgModule

Pourquoi le module est préfixé avec Ng, lorsque le composant est pas? Y a-t-il une raison pour cette dénomination incohérente?

Répondre

3

Module est très surchargé (modules ES6) par exemple. Il y a beaucoup de confusion à propos des importations de typeScript et @NgModule({imports: [...]}) par exemple.

Ils voulaient juste faire comprendre ce qu'est ce concept de module. Component est beaucoup plus susceptible d'être confus lorsque Angular est utilisé.

+0

Mais ne devraient-ils pas utiliser NgComponent juste pour des raisons de cohérence? – NikxDa

+0

Il y aurait beaucoup de choses où ils pourraient ajouter 'ng' ou' Ng' comme préfixe. Aussi, 'NgModule' a été introduit quelques jours avant la publication de Angular 2.0.0 final. Beaucoup de code Angular existait déjà à ce moment-là parce que les gens commençaient déjà à travailler avec Angular avec des versions alpha. La cohérence n'est pas si importante. –

+0

Cela éclaircit les choses! Merci! – NikxDa

1

À partir d'ECMAScript 2015, JavaScript a un concept de modules. TypeScript partage ce concept.

Modules (TypeScript)

Les modules sont un concept déjà existant dactylographiée et ECMAScript. Ils ne voulaient probablement pas introduire un double sens pour "Module".