我得到这个错误
属性绑定ngIf未被嵌入模板上的任何指令使用。确保属性名拼写正确,并且所有指令都列在“@NgModule.declarations”中
即使你运行ng serve
时也能正常工作。
当我将angular更新为v13
时,我开始得到这个编译错误。
我已经尝试重新启动 Vscode 并重新安装 Angular Language Service,并安装了以前版本的 Angular Language Service...都不管用。
我的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 {}
3条答案
按热度按时间vltsax251#
在Github上,禁用
Use legacy View Engine language service
解决了这个问题。进入Angular Language Service的扩展设置,取消
Use legacy View Engine language service
。qojgxg4l2#
不久前我自己也犯了这个错误。
我在网上搜索了一下,根据this issue,这是运行
ngcc
后的intellisense或索引的问题,与您的代码无关。您可以通过删除node_modules
和package-lock.json
并运行npm i
来验证我的声明。您将看到错误将消失,但当您运行run serve
或ng build
时,它将再次弹出。无论如何,您的代码将编译和运行,因为它是没有问题的,但你会看到这个错误,直到角团队解决这个问题。作为一种变通方法,你可以把它 Package 在一个
<ng-container>
中,(在某些情况下) 它会修复错误,但我自己没有这样做。我在等一个bug修复补丁。aiqt4smr3#
试试这个
IN .ts文件:
HTML格式
在这里使用Angular中的结构绑定将能够识别您的“有效”属性。