angular - Fel: p-button (och p-password) är inte ett känt element


Jag har primeng installerat via npm install primeng --save

I package.json, i både dependencies och devDependencies, är primeng på ^12.0.1

I angular.json har jag lagt in de relevanta stilarna.

"styles": [
  "node_modules/primeng/resources/themes/saga-blue/theme.css",
  "node_modules/primeng/resources/primeng.min.css",
  "node_modules/primeicons/primeicons.css",
  //...
],

I login.module.ts vim har jag lagt in de relevanta koderna:

import {PasswordModule} from 'primeng/password';
import {ButtonModule} from 'primeng/button';

@NgModule({
   ...
   imports:[
   ...
   ButtonModule,
   PasswordModule
   ]
  })

Det är svårt att kopiera och klistra in kod från vm, men jag skrev ut dem respektive:

<p-password></p-password>
<p-button></p-button>

Min inloggningsmodul finns i login-mappen som är inbäddad i app-mappen

Redigera: p-lösenord och p-knapp fungerar när det är i appmodulen men i loginmodulen fungerar det inte.

Jag har ställt in appens routingmodul för att dirigera "" till inloggningsmodulen.

Redigera: Jag slutade med att bara slå ihop inloggningskomponenten med appmodulen och tog bort inloggningsmodulen. Jag är så trött på det här.

Svar #1

Jag vet att det är ett gammalt ämne, men jag har stött på samma problem nyligen. I mitt fall glömde jag att lägga till LoginModule på nivån av själva AppModule i imports-arrayen.

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

   

Svar #2

Jag tror att du missar att importera CommonModule i LoginModule

import { CommonModule } from '@angular/common';
@NgModule({
imports: [CommonModule, ButtonModule, PasswordModule]});

Jag hade samma problem, och lösningen är att importera CommonModule.