PrimeNG 10.0.3 - 错误 NG8001:“p-tabView”不是已知元素

问题描述 投票:0回答:2

我在 Angular 10 应用程序中使用 PrimeNG 10.0.3。在其中我导入了几个 PrimeNG 组件并毫无问题地使用它们。但是,当我尝试使用 TabView 模块时,我收到 error NG8001: 'p-tabView' is not aknown element 以及 error NG8001: 'p-tabPanel' is not aknown element

我创建了一个名为 primng.module 的模块,在其中托管所有 PrimeNG 导入:

import { NgModule } from '@angular/core';
import { ButtonModule } from 'primeng/button';
import { BlockUIModule } from 'primeng/blockui';
import { ToastModule } from 'primeng/toast';
import { DialogModule } from 'primeng/dialog';
import { ConfirmDialogModule } from 'primeng/confirmdialog';
import { OverlayPanelModule } from 'primeng/overlaypanel';
import { PanelModule } from 'primeng/panel';
import { CardModule } from 'primeng/card';
import { SidebarModule } from 'primeng/sidebar';
import { InputMaskModule } from 'primeng/inputmask';
import { PasswordModule } from 'primeng/password';
import { TableModule } from 'primeng/table';
import { TabViewModule } from 'primeng/tabview';

import { ConfirmationService, MessageService } from 'primeng/api';

@NgModule({
  imports: [

  ],
  exports: [
    ButtonModule,
    BlockUIModule,
    ToastModule,
    DialogModule,
    ConfirmDialogModule,
    OverlayPanelModule,
    PanelModule,
    CardModule,
    SidebarModule,
    InputMaskModule,
    PasswordModule,
    TableModule,
    TabViewModule
  ],
  providers: [
    MessageService,
    ConfirmationService
  ]
})
export class PrimengModule { }

然后我将此模块导入为:

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { PrimengModule } from '../../primeng.module';

...

const routes: Routes = [
  ...
];

@NgModule({
  declarations: [
    ...
  ],
  imports: [
    RouterModule.forChild(routes),
    PrimengModule
  ],
  exports: [
    RouterModule
  ]
})
export class AdminRoutingModule { }

最后,我将 TabView 用作:

  <p-tabView>
    <p-tabPanel header="Header 1">
      Content 1
    </p-tabPanel>
    <p-tabPanel header="Header 2">
      Content 2
    </p-tabPanel>
    <p-tabPanel header="Header 3">
      Content 3
    </p-tabPanel>
  </p-tabView>

我使用任何其他模块都没有遇到问题,只是 TabView。

我错过了什么?

谢谢。

primeng
2个回答
2
投票

好吧,事实证明这与 PrimeNG 无关。我拥有 p-tabView 标记的托管组件被错误地声明在另一个模块中,该模块对我的 primeng.module.ts 一无所知,自然也不知道如何处理 TabView。

经验教训:要小心在哪个模块中声明每个组件。确保模块了解您需要在组件中使用的功能。


0
投票

嘿,当我使用 primeng TabMenuModule 时,我遇到了类似的错误,所以这只是模块问题,我将其导入到错误的模块中,因为我的组件是在应用程序模块中声明的,但我正在另一个模块中导入 TabMenuModule,因为我认为它是关联的对此。所以这与primeng无关。

© www.soinside.com 2019 - 2024. All rights reserved.