📌  相关文章
📜  core.js:12799 无法绑定到“ngForIn”,因为它不是“ng-container”的已知属性. - Javascript(1)

📅  最后修改于: 2023-12-03 15:00:02.217000             🧑  作者: Mango

Error: core.js:12799 cannot bind to 'ngForIn' because it is not known property of 'ng-container'

当你在Angular应用程序中使用ngForIn指令时,可能会遇到这个错误。这个错误的原因是由于Angular无法识别'ngForIn'指令。通常情况下,这个问题是由两种常见情况引起的。

情况一:遗漏了NgForInModule

NgForIn是Angular的指令,它需要导入NgForInModule才能在应用程序中使用。如果你没有引入NgForInModule,则不会识别'ngForIn'指令。在你的应用程序中,你应该像这样导入NgForInModule:

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

@NgModule({
  imports: [BrowserModule, NgForInModule],
  bootstrap: [AppComponent]
})
export class AppModule { }

当你正确导入了NgForInModule后,Angular就能够识别'ngForIn'指令。

情况二:使用了ngFor而不是ngForIn

ngForIn是Angular的指令,它是用来遍历“对象”(object)的。它不同于ngFor,ngFor是用来遍历“数组”(array)的。所以,如果你错误地使用了ngFor而不是ngForIn,你将会收到一个错误提示。

要解决这个问题,你应该使用ngForIn来遍历对象,而不是使用ngFor。像这样:

<ng-container *ngForIn="myObject">
  <div>{{key}}:{{value}}</div>
</ng-container>

这将循环遍历myObject中的所有键值对,并在应用程序中显示它们。

希望这篇文章能帮助你解决'core.js:12799 cannot bind to 'ngForIn' because it is not known property of 'ng-container' 的问题。