无法绑定到"ngForFor",因为它不是"li"的已知属性 [英] Can't bind to 'ngForFor' since it isn't a known property of 'li'

查看:211
本文介绍了无法绑定到"ngForFor",因为它不是"li"的已知属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的app.module

My app.module

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';

import { AppComponent } from './app.component';
import { routing, appRoutingProviders} from './app.routing'
import { ProductSearchModule} from './productSearch/productSearch.module'

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    routing,
    ProductSearchModule
  ],
  providers: [appRoutingProviders],
  bootstrap: [AppComponent]
})
export class AppModule { }

我的productSearch.module

my productSearch.module

import {NgModule} from '@angular/core'
import {ProductSearchComponent} from './productSearch.component'

@NgModule({
    exports: [ProductSearchComponent],
    declarations: [ProductSearchComponent],

})

export class ProductSearchModule{}

我的productSearch组件

my productSearch component

import { Component, Output } from '@angular/core'
import { Product} from '../shared/product'

@Component({
    selector: 'product-search',
    templateUrl: 'productSearch.component.html',
    styleUrls: ['productSearch.component.css'],

})

export class ProductSearchComponent{
    /**
     *
     */
    constructor() {
        var p1 = new Product;
        p1.name = "alkan";

        var p2 = new Product;
        p2.name = "alper";
        this.Products = [p1, p2];

    }

    Products: Product[]

    search(){

    }
}

productSearch.component.html文件

productSearch.component.html file

<li *ngFor="let item for Products">{{item.name}}</li>

如您所见,这是Angular的一个非常基本的示例.我只想打印每个产品的名称.

As you can see, this is a very basic example of Angular. I just want to print name of each product.

我遇到的错误:

由于它不是'li'的已知属性,因此无法绑定到'ngForFor'.

Can't bind to 'ngForFor' since it isn't a known property of 'li'.

更新:

组件构造函数更改为

var p1 = new Product();
p1.name = "alkan";

var p2 = new Product();
p2.name = "alper";
this.Products = [p1, p2];

和模板html更改为

<li *ngFor="let item of Products">{{item.name}}</li>

但是我仍然会收到错误消息:

But i still get error:

Can't bind to 'ngForOf' since it isn't a known property of 'li'

推荐答案

    var p1 = new Product();   //<----added ();
    p1.name = "alkan";

    var p2 = new Product();   //<----added ();
    p2.name = "alper";
    this.Products = [p1, p2];

     //<---replace for keyword by of keyword
    <li *ngFor="let item of Products">{{item.name}}</li>   

更新

您还需要添加 CommonModule ,如下所示,

You also need to add CommonModule as shown below,

import {NgModule} from '@angular/core';   
import {ProductSearchComponent} from './productSearch.component'

import {CommonModule} from '@angular/common';

@NgModule({
    imports: [CommonModule],                   //<====added
    exports: [ProductSearchComponent],
    declarations: [ProductSearchComponent],

})

这篇关于无法绑定到"ngForFor",因为它不是"li"的已知属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆