【问题标题】:VS Code doesn't understand my Angular templatesVS Code 不理解我的 Angular 模板
【发布时间】:2022-01-13 09:58:43
【问题描述】:

我不知道为什么,但这就是 VS Code 给我的

我的代码编译没有任何问题,所以它必须与 VS Code 相关。这个组件中的某些东西在 VS Code 中看起来很乱,因为其他组件没有任何问题。此外,该消息建议使用我在模块文件中定义的 CUSTOM_ELEMENT_SCHEMA。

我的 Angular 应用程序的结构非常基本,一个模块文件用于所有内容,但该项目是 nx monorepo 的一部分。我安装了 Angular 语言服务插件,所以我不知道我在 VS Code 中看到的这些错误可能是什么原因。

【问题讨论】:

  • 您是否按照错误消息的建议在模块中添加了组件?重新启动 VS Code 和 ng serve 通常也有帮助 (stackoverflow.com/a/65178231/2742007)
  • 我认为添加CdkAccordionModule 是您需要做的所有事情。我还删除了我的 node_modules 并重新安装了所有内容,重新启动了 vscode,但一切都回来了
  • 你找到解决办法了吗?突然我遇到了同样的问题,源没有任何错误,但是 VSCode 无法识别组件和指令。它也适用于 NX。
  • 还没有。一旦找到解决方案,我会在这里发布!

标签: angular visual-studio-code nrwl-nx nrwl


【解决方案1】:

我发现https://material.angular.io/cdk/accordion/examples 上的示例令人困惑,因为它创建了一个新组件但使用了基础cdk-accordioncdk-accordion-item

从您的屏幕截图看来,您也在使用基本组件。

如果没有您代码的更多详细信息,我们只能盲目猜测您的问题。我创建了一个在 Stackblitz 上运行的简单演示

https://stackblitz.com/edit/angular-ivy-bgkn9s?file=src%2Fapp%2Faccordion%2Faccordion.component.ts

注意跟随

  • npm install @angular/cdk
  • app.modules.ts:导入、声明

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';

import {CdkAccordionModule} from '@angular/cdk/accordion';

import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';
import { AccordionComponent } from './accordion/accordion.component';

@NgModule({
  imports:      [ BrowserModule, FormsModule, CdkAccordionModule ],
  declarations: [ AppComponent, HelloComponent, AccordionComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

【讨论】:

  • 我必须说我已经完成了这一切。我意识到我的帖子没有提供足够的信息,但在这种情况下做到这一点并不容易。我无法发布我的整个 monorepo :) 感谢您的帮助!
【解决方案2】:

我发现这是 Angular 语言服务扩展的问题。现在,如果您进入 settings 并取消选中该扩展的以下配置选项

它似乎又可以工作了

我的回答受到this 帖子的启发

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 2021-05-04
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多