发生相同的问题:无法绑定到“ngIf”,因为它不是“div”的已知属性
Posted
技术标签:
【中文标题】发生相同的问题:无法绑定到“ngIf”,因为它不是“div”的已知属性【英文标题】:Same Issue occured : Can't bind to 'ngIf' since it isn't a known property of 'div' 【发布时间】:2021-12-29 05:11:43 【问题描述】:您好,我使用的是 Angular 13,在运行“ng serve”时,我的 vscode 显示以下错误: [问题1][1]
在您继续将其标记为重复之前,请停止!这不是。 [NotASuplicate][2]
我已经尝试过上述解决方案:
在根模块中添加“BrowserModule”,在子模块中添加“CommonModule”。(我只有 1 个模块,其中提到了 BrowserModule) 确保您使用的是“ngIf”而不是“ngif”。(我不是)以下是我的项目的样子: [项目结构][3]
请问,有人知道如何解决这个问题吗? [1]:https://i.stack.imgur.com/z2zqR.jpg [2]:https://i.stack.imgur.com/5mWSH.jpg [3]:https://i.stack.imgur.com/44W9p.png
【问题讨论】:
ngIf="1==1" 可以工作吗? 嗨亚历克斯,所以尝试了这个“代码:ImageData.Info.Id”......但它仍然说...无法绑定到“ngIf”,因为它不是“span”的已知属性。 请不要通过图片分享代码,而是将重要部分粘贴在这里。 嗨 Philipp,我明白这一点,但我想分享整个项目结构,这就是包含这些图像的原因,至于在这类错误中很常见的问题的重要部分,我分享了一个这张照片也是因为有很多这样的陈述。 【参考方案1】:经过一番挖掘和试错后,我终于能够解决这个问题。因此,发布此解决方案以防其他人遇到类似情况。
因此,搜索所有报告的“问题”,检查是否收到类似这样的错误消息。
Can’t resolve all parameters for SomeComponent: [object Object], (?)
您会注意到,如果您的 “无法绑定到 'ngIf',因为它不是已知属性” 错误没有通过我之前提到的解决方案解决,那么这些错误必须仅在上述SomeComponent's html 模板的html 文件中报告,如果是这种情况,请继续阅读。 SomeComponent 的 ts 文件应该使用注入的用户定义服务,如下所示:
export class SomeComponent
constructor(private _DataService : DataService)
在这种情况下,打开您的 DataService.ts 并确保其主体看起来像这样:
@Injectable(
providedIn: 'root',
)
export class DataService
上述部分 providedIn: 'root', 需要存在,并且您的 app.module.ts 应如下所示:
@NgModule(
declarations: [
AppComponent,
SomeComponent
],
imports: [
BrowserModule
],
entryComponents: [
SomeComponent
],
providers: [],
bootstrap: [AppComponent]
)
export class AppModule
以上部分providers: []应该相同,以防您只使用用户定义的服务。 您可能已经注意到,当您将旧的 Angular 项目迁移到新的 Angular 版本时,我们将面临此类问题。PS:以防您的 animate.css 动画无法正常工作还需要地址this。
【讨论】:
以上是关于发生相同的问题:无法绑定到“ngIf”,因为它不是“div”的已知属性的主要内容,如果未能解决你的问题,请参考以下文章
无法绑定到“ngModel”,因为它不是“输入”的已知属性。测试.spec.ts