parametros - Crear componente para un módulo específico con Angular-CLI
pasar datos de un componente a otro angular 2 (16)
- Primero, genera un módulo ejecutando.
ng g m modules/media
esto generará un módulo llamado
media
dentro de la carpeta de
modules
.
- En segundo lugar, genera un componente agregado a este módulo
ng g c modules/media/picPick --module=modules/media/media.module.ts
la primera parte del comando
ng gc modules/media/picPick
generará una carpeta de componentes llamada
picPick
dentro de los
modules/media
carpeta de
modules/media
que contiene nuestro nuevo módulo de
media
.
la segunda parte hará que nuestro nuevo componente
picPick
declare en el módulo de
media
importándolo en el archivo del módulo y agregándolo a la matriz de
declarations
de este módulo.
Estoy empezando a usar angular-cli y ya he leído mucho para encontrar una respuesta sobre lo que quiero hacer ... sin éxito, así que vine aquí.
¿Hay alguna forma de crear un componente para un nuevo módulo?
por ejemplo:
ng g module newModule
ng g component newComponent
(¿cómo agregar este componente a newModule ??)
porque el comportamiento predeterminado de angular-cli es poner todos los componentes nuevos dentro de
app.module
.
Me gustaría elegir dónde estará mi componente, para poder crear módulos separados y no tener todos mis componentes dentro de
app.module
.
¿Es posible hacerlo usando angular-cli o tengo que hacerlo manualmente?
Creé un módulo secundario basado en componentes con una carpeta raíz específica
Ese comando cli a continuación que especifiqué, comprueba
ng g c Repair/RepairHome -m Repair/repair.module
Repair is Root Folder de nuestro módulo hijo
-m es --módulo
c para compuesto
g para generar
Esto es lo que funcionó para mí:
1 --> ng g module new-module
2 --> ng g c new-module/component-test --module=new-module/new-module.module.ts
Si desea generar un componente sin su directorio use
--flat
flag.
No encontré una respuesta que mostrara cómo usar el cli para generar un componente dentro de una carpeta de módulo de nivel superior, y también hacer que el componente agregue automáticamente la colección de declaración del módulo.
Para crear el módulo, ejecute esto:
ng g module foo
Para crear el componente dentro de la carpeta del módulo foo y agregarlo a la colección de declaraciones de foo.module.ts, ejecute esto:
ng g component foo/fooList --module=foo.module.ts
Y el cli desplegará el módulo y el componente de esta manera:
- EDITAR la nueva versión del cli angular se comporta de manera diferente. 1.5.5 no quiere un nombre de archivo de módulo, por lo que el comando con v1.5.5 debería ser
ng g component foo/fooList --module=foo
No estoy seguro si tal vez la respuesta de Alexander Ciesielski fue correcta al momento de escribir, pero puedo verificar que esto ya no funciona. No importa en qué directorio del proyecto ejecute la CLI angular. Si escribes
ng g component newComponent
generará un componente y lo importará al archivo app.module.ts
La única forma en que puede usar CLI para importarlo automáticamente a otro módulo es especificando
ng g component moduleName/newComponent
donde moduleName es un módulo que ya ha definido en su proyecto. Si el moduleName no existe, colocará el componente en el directorio moduleName / newComponent pero aún lo importará en app.module
Para Angular v4 y superior, simplemente use:
ng g c componentName -m ModuleName
Para crear un componente como parte de un módulo, debe
-
ng g module newModule
para generar un módulo, -
cd newModule
para cambiar el directorio a la carpetanewModule
-
ng g component newComponent
para crear un componente como elemento secundario del módulo.
Primero ejecute
ng g module newModule
.
Luego ejecute
ng g component newModule/newModule --flat
Puede probar el siguiente comando, que describe el,
ng -> Angular
g -> Generate
c -> Component
-m -> Module
Entonces su comando será como:
ng g c user/userComponent -m user.module
Según los documentos de Angular, la forma de crear un componente para un módulo específico es,
ng g component <directory name>/<component name>
"nombre del directorio" = donde la CLI generó el módulo de características
Ejemplo:
ng generate component customer-dashboard/CustomerDashboard
Esto genera una carpeta para el nuevo componente dentro de la carpeta del panel del cliente y actualiza el módulo de características con CustomerDashboardComponent
Si tiene múltiples aplicaciones declaradas en .angular-cli.json (por ejemplo, en caso de trabajar en el módulo de funciones)
"apps": [{
"name": "app-name",
"root": "lib",
"appRoot": ""
}, {...} ]
Usted puede :
ng g c my-comp -a app-name
-a significa --app (nombre)
Tengo problemas similares con varios módulos en la aplicación. Se puede crear un componente en cualquier módulo, por lo que antes de crear un componente, debemos especificar el nombre del módulo en particular.
''ng generate component newCompName --module= specify name of module''
Use este comando simple:
ng g c users/userlist
users
: el nombre de su módulo.
userlist
: el nombre de su componente.
Utilizo este comando particular para generar componentes dentro de un módulo.
ng g c <module-directory-name>/<component-name>
Este comando generará un componente local para el módulo. o Puede cambiar el directorio primero escribiendo.
cd <module-directory-name>
y luego crear componente.
ng g c <component-name>
Nota: el código encerrado en <> representa nombres específicos del usuario.
Agregue un componente a la aplicación Angular 4 usando CLI angular
Para agregar un nuevo componente Angular 4 a la aplicación, use el comando
ng g component componentName
.
Después de la ejecución de este comando, Angular CLI agrega una carpeta
component-name
en
src/app
.
Además, las referencias de la misma se agregan al archivo
src/app/app.module.ts
automáticamente.
Un componente tendrá una función decoradora
@Component
seguida de una
class
que debe
export
.
La función de decorador
@Component
acepta metadatos.
Agregue un componente a una carpeta específica de la aplicación Angular 4 usando CLI angular
Para agregar un nuevo componente a una carpeta específica, use el comando
ng g component folderName/componentName
ng g component nameComponent --module=app.module.ts