4

我收到此错误

嵌入模板上的任何指令都没有使用属性绑定 ngIf。确保属性名称拼写正确,并且所有指令都列在“@NgModule.declarations”中

即使你在我跑步时也能正常工作ng serve

在此处输入图像描述 在此处输入图像描述

当我将 angular 更新为v13.

我已经尝试重新启动Vscode并重新安装Angular 语言服务并安装以前版本的Angular 语言服务......它们都不起作用......

我的app.module.ts

import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [AppComponent],
  imports: [CommonModule, BrowserModule, AppRoutingModule],
  providers: [],
  bootstrap: [AppComponent],
  exports: [CommonModule, BrowserModule],
})
export class AppModule {}
4

3 回答 3

5

Github,禁用Use legacy View Engine language service可以解决问题。

进入Angular 语言服务的扩展设置并取消选中Use legacy View Engine language service.

在此处输入图像描述

于 2021-12-20T08:25:40.953 回答
0

不久前我自己遇到了这个错误。

我在网上搜索了它,根据这个问题,这是运行后智能感知索引ngcc的问题,与您的代码无关。node_modules您可以通过删除和package-lock.json运行来验证我的陈述npm i。您会看到错误会消失,但是当您运行时run serveng build它会再次弹出。无论如何,您的代码将按原样编译和运行,但您会看到该错误,直到 Angular 团队解决此问题。

作为一种解决方法,您可以将其包装在 a 中<ng-container>,并且(在某些情况下)它会修复错误,但我自己没有这样做。我正在等待一个错误修复补丁。

于 2021-12-12T10:15:37.010 回答
0

试试这个。

在 .ts 文件中:

export class Helloworld implements OnInit {
  valid: boolean = false;

   ngOnInit(){
     this.valid = true;
   }

}

在 HTML 中

<div *ngIf="valid"> Hello World</div>

在这里使用 Angular 中的结构绑定将能够识别您的“有效”属性。

于 2021-12-13T05:38:47.827 回答