为啥 ngfor 指令不起作用,尽管我在 Typescript 类中创建了正确的对象

Posted

技术标签:

【中文标题】为啥 ngfor 指令不起作用,尽管我在 Typescript 类中创建了正确的对象【英文标题】:Why ngfor directive is not working, though I have created proper object in Typescript class为什么 ngfor 指令不起作用,尽管我在 Typescript 类中创建了正确的对象 【发布时间】:2022-01-21 01:40:19 【问题描述】:

我在 Typesript 中创建了适当的成分对象,也为该对象创建了适当的“模型”。虽然 ngfor 指令不起作用。我在浏览器中检查时收到此错误“NG0303:无法绑定到 'ngforOf',因为它不是 'a' 的已知属性”。

我的型号代码

export class Ingredient 
constructor(public name: string, public amount: number)

我的 TypeScript 代码

import  Component, OnInit  from '@angular/core';
import  Ingredient  from '../shared/ingredient.model';

@Component(
  selector: 'app-shopping-list',
  templateUrl: './shopping-list.component.html',
  styleUrls: ['./shopping-list.component.css']
)
export class ShoppingListComponent implements OnInit 

  ingredients: Ingredient[] = [

    new Ingredient ("Apple", 5),
    new Ingredient ("Tomato", 5)
  ];

  constructor()  

  ngOnInit(): void 
  


我的 HTML 代码

<div class="row">
    <div class="col-xs-10">
        <app-shopping-edit></app-shopping-edit>
        <hr>
        <ul class = "list-group">
            <a class = "list-group-item" 
            style = "cursor : pointer"
            *ngfor = "let ingredient of ingredients">
             ingredient.name ( ingredient.amount)
            </a> 
        </ul>
    </div>
</div>

页面加载正常,但成分未加载。在浏览器中检查此错误“NG0303:无法绑定到'ngforOf',因为它不是'a'的已知属性”即将到来。

有人可以帮忙吗。

【问题讨论】:

【参考方案1】:

如果您在 AppModule 中,请检查您的导入数组中是否有 BroswerModule。 如果您在某个不同的模块中,请检查 CommonModule 是否是该模块数组的一部分。 CommonModule 在您的特定情况下为我们提供了核心 Angular 功能,例如 *ngIf*ngFor。 另请注意,您输入的是*ngfor 而不是*ngFor

【讨论】:

【参考方案2】:

尝试将*ngFor 移动到ul 标记内。

编辑:你有一个错字。它是*ngFor="",而不是*ngfor=""

【讨论】:

以上是关于为啥 ngfor 指令不起作用,尽管我在 Typescript 类中创建了正确的对象的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个宽度监视 AngularJS 指令在切换 Bootstrap 选项卡时不起作用?

为啥引导程序不起作用,尽管我已经加载了它等(Django 项目)?

为啥 HoverIntent 不起作用?

为啥通知组件不起作用

为啥阿波罗服务器自定义指令不起作用?

为啥 Ctrl + A 在 CEdit 中不起作用?