【问题标题】:"Can't bind to 'ngbNavItem' since it isn't a known property of 'li'" VS Code?“无法绑定到‘ngbNavItem’,因为它不是‘li’的已知属性”VS Code?
【发布时间】:2022-01-09 12:42:34
【问题描述】:

场景:

我们有一个使用许多库的生产 Angular 应用程序,包括:ng-select、angular-fontawesome、ng2-charts、ngx-quill、ng-bootstrap 和依此类推……没有什么不正常的。

出于某种原因,ng-bootstrap(以及其他一些较小的库)在 VS Code 中出现了问题:库中的每个组件/指令都显示了一个错误,它可以'找不到:

ngbNav使用示例:

<ul ngbNav #nav="ngbNav" [(activeId)]="active" class="nav-tabs">
</ul>

问题:

VS Code 显示红色,错误提示基本无效:

Can't bind to 'activeId' since it isn't a known property of 'ul'

和:

There is no directive with "exportAs" set to "ngbNav"

是的,NgbModule 被导入到 app.module.ts

  imports: [
    CommonModule,
    FormsModule,
    BrowserModule,
    AppRoutingModule,
    HttpClientModule,
    RouterModule,
    BrowserAnimationsModule,
    NgbModule,
    ...
  ]

可能(有点)不标准的一件事是我们在应用程序中大量使用了延迟加载模块。

但是,在那些使用这些组件的“子”模块中,我们也在&lt;module-name&gt;.module.ts 文件中导入了NgbModule

陌生感:

应用程序本身运行良好:本地开发没有编译错误,所有 ng-bootstrap 组件都运行良好,Lint 和单元测试运行良好,应用程序构建成功,生产中没有问题。

这让我认为这可能是 VS Code eslintangular language service 问题,但我尝试重新安装所有可能相关的扩展,但没有任何乐趣。

问题:

有谁知道这是什么原因造成的以及如何补救?这不是一个炫耀,但让编辑器有效有助于调试和探索库的使用。

【问题讨论】:

  • 检查你是否已经导入了 ngbModule,在这个组件中声明了你正在使用 ngbNav
  • @zainhassan 是的,它是在声明组件的同一位置导入的。 ng-bootstrap 组件和指令在 UI 中都可以正常工作,只有编辑器显示错误。

标签: angular typescript visual-studio-code ng-bootstrap


【解决方案1】:

在组件类中,尝试添加这个属性:active = 1;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2017-08-05
    • 1970-01-01
    • 2021-06-05
    • 2018-06-09
    • 2017-06-21
    • 2017-02-03
    相关资源
    最近更新 更多