proyecto for crear componente cli change angular angular-cli angularjs-ng-model

for - CLI angular: agregue una anotación @NgModule cuando use la última versión



manual angular 6 (1)

El problema es la importación de ProjectsListComponent en su ProjectsModule . No debe importar eso, sino agregarlo a la matriz de exportación, si desea usarlo fuera de su ProjectsModule .

Otras cuestiones son las rutas de su proyecto. Debe agregarlos a una variable exportable, de lo contrario no es compatible con AOT. Y usted debería -nunca- importar el BrowserModule ningún otro lugar que no sea su AppModule . Use CommonModule para obtener acceso a las *ngIf, *ngFor...etc :

@NgModule({ declarations: [ ProjectsListComponent ], imports: [ CommonModule, RouterModule.forChild(ProjectRoutes) ], exports: [ ProjectsListComponent ] }) export class ProjectsModule {}

proyecto.rutas.ts

export const ProjectRoutes: Routes = [ { path: ''projects'', component: ProjectsListComponent } ]

nota: soy nuevo en Angular, así que disculpe la estupidez de un recién llegado aquí.

Detalles

  • He instalado la última versión de Angular CLI
  • La aplicación predeterminada se carga y funciona perfectamente bien después de ''ng serve''

Problema

  • Decidí crear un nuevo módulo e importarlo al módulo de la aplicación
  • Esto es algo que he hecho un par de veces en Angular 2 y ha funcionado perfectamente bien.
  • Sin embargo, desde que ejecuté la última versión de Angular CLI esta mañana, al importar un módulo se rompe y recibo el siguiente error:

compiler.es5.js: 1689 Error no detectado: Directiva inesperada ''ProjectsListComponent'' importada por el módulo ''ProjectsModule''. Por favor agregue una anotación @NgModule.

Módulo de aplicaciones

import { BrowserModule } from ''@angular/platform-browser''; import { NgModule } from ''@angular/core''; import { AppComponent } from ''./app.component''; import { AngularFireModule } from ''angularfire2''; import { AngularFireDatabaseModule } from ''angularfire2/database''; import { AngularFireAuthModule } from ''angularfire2/auth''; import { environment } from ''../environments/environment''; import { ProjectsModule } from ''./projects/projects.module''; import { HttpModule } from ''@angular/http''; @NgModule({ imports: [ BrowserModule, HttpModule, ProjectsModule, AngularFireModule.initializeApp(environment.firebase, ''AngularFireTestOne''), // imports firebase/app needed for everything AngularFireDatabaseModule, // imports firebase/database, only needed for database features AngularFireAuthModule // imports firebase/auth, only needed for auth features ], declarations: [AppComponent], bootstrap: [AppComponent] }) export class AppModule { }

Módulo de Proyectos

import { BrowserModule } from ''@angular/platform-browser''; import { NgModule } from ''@angular/core''; import { ProjectsListComponent } from ''./projects-list.component''; import { RouterModule } from ''@angular/router''; @NgModule({ declarations: [ ProjectsListComponent ], imports: [ BrowserModule, ProjectsListComponent, RouterModule.forChild([ { path: ''projects'', component: ProjectsListComponent } ]) ] }) export class ProjectsModule { }

El proceso que tomé para configurar el módulo no ha sido diferente a cuando estaba usando Angular 2. Sin embargo, después de tener problemas con la compatibilidad entre Angular Cli, Firebase y Angular Fire, decidí obtener lo último de todo esto. Mañana.

Cualquier ayuda con esta sería apreciada masivamente, ya que he golpeado una pared de ladrillos con mi comprensión de todo esto.

Gracias.