角度4:无法绑定到'ngForFor',因为它不是'li'的已知属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了角度4:无法绑定到'ngForFor',因为它不是'li'的已知属性相关的知识,希望对你有一定的参考价值。

我刚开始学习角度4.这是一个简单的代码,我试图在Visual Studio代码中实现,但不断收到此错误。

Uncaught Error: Template parse errors:
Can't bind to 'ngForFor' since it isn't a known property of 'li'. ("
</ul>
<ul>
 <li [ERROR ->]*ngFor="let hobby for hobbies">{{hobby}}</li>
</ul>"): ng:///AppModule/UserComponent.html@6:6
Property binding ngForFor not used by any directive on an embedded template. 
Make sure that the property name is spelled correctly and all directives are 
listed in the "@NgModule.declarations".("
</ul>
<ul>
[ERROR ->]<li *ngFor="let hobby for hobbies">{{hobby}}</li>
</ul>"): ng:///AppModule/UserComponent.html@6:2

我尝试过将CommonModule添加到app.module文件的先前解决方案。但它还没有解决问题。我无法弄清楚出了什么问题。

app.component.ts:

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

}

app.module.ts:

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


import { AppComponent } from './app.component';
import { UserComponent } from './components/user/user.component';
import {CommonModule} from '@angular/common';

@NgModule({
  declarations: [
    AppComponent,
    UserComponent
  ],
  imports: [
    BrowserModule,CommonModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

user.component.ts:

import { Component, OnInit } from '@angular/core';


@Component({
  selector: 'app-user',
  templateUrl: './user.component.html',
  styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit {
  name:string;
  age:number;
  address: Address;
  hobbies:string[];


  constructor() { 
    console.log('constructor ran ...');
  }

  ngOnInit() {
  console.log('ngOnInit ran ...');
  this.name='Raul';
  this.age=22;
  this.address= {
    street:'abc',
    city:'xyz',
    country: 'jkl'
  }
  this.hobbies=['reading','playing','swimming'];
  }

}

interface Address{
  street:string,
  city:string,
  country:string

}

user.component.html:

<h1>{{name}}</h1>
<ul>
  <li>Age:{{age}}</li>
  <li>Address:{{address.street}}, {{address.city}},{{address.country}}</li>
</ul>
<ul>
  <li *ngFor="let hobby for hobbies">{{hobby}}</li>
</ul>
答案

应该是of而不是for内的ngFor

ngFor="let hobby of hobbies"

以上是关于角度4:无法绑定到'ngForFor',因为它不是'li'的已知属性的主要内容,如果未能解决你的问题,请参考以下文章

无法绑定到“(ngModel”,因为它不是角度单元测试用例中“输入”的已知属性

角度意外错误:无法将 FormControl 绑定到输入

无法读取未定义的'角度误差'属性'panTo'

无法绑定到“配置”,因为它不是角度 8 中“maphilight”错误的已知属性

无法将范围变量绑定到角度js中的html元素

角度 1.5。如何使嵌入的模板绑定到组件范围