【问题标题】:Same Issue occured : Can't bind to 'ngIf' since it isn't a known property of 'div'发生相同的问题:无法绑定到“ngIf”,因为它不是“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,我明白这一点,但我想分享整个项目结构,这就是包含这些图像的原因,至于在这类错误中很常见的问题的重要部分,我分享了一个这张照片也是因为有很多这样的陈述。

标签: angular angular-directive


【解决方案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

【讨论】:

    猜你喜欢
    • 2021-05-08
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-26
    • 2020-10-24
    相关资源
    最近更新 更多