Angular报错Can't bind to 'ngModel' since it isn't a known property of 'input'.
Angular初学实验如下:
功能: 实现输入框输入字符后,分别在父组件和子组件显示
子组件配置
product-alerts.component.ts
import { Component, OnInit } from '@angular/core';
import { Input } from '@angular/core'
@Component({
selector: 'app-product-alerts',
templateUrl: './product-alerts.component.html',
styleUrls: ['./product-alerts.component.css']
})
export class ProductAlertsComponent implements OnInit
{
@Input() //用input注解
stockCode:string; //股票代码属性
@Input()
amount:number; //股票数量属性
constructor() { }
ngOnInit() {
}
}
product-alerts.component.html
<p> product-alerts works! </p> <div> 我是子组件 </div> <div> <!-- 绑定属性 --> 买{{amount}}手{{stockCode}}股票 </div>
父组件配置
product-list.component.ts
import { Component } from '@angular/core';
import { products } from '../products';
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styleUrls: ['./product-list.component.css']
})
export class ProductListComponent {
products = products;
stock="1233"
amount="sdasd"
share() {
window.alert('The product has been shared!');
}
}
product-list.component.html
<div> <input type="text" placeholder="请输入股票代码" [(ngModel)]="stock"> <input type="text" placeholder="请输入股票数量" [(ngModel)]="amount"> <app-product-alerts [stockCode]="stock" [amount]="amount"></app-product-alerts> <P > 我是父组件 {{ stock }} {{ amount }} </P> </div>
展示界面:

参考链接:https://blog.csdn.net/ldb987/article/details/80186614
在写完父组件以及子组件之后,发现无法显示,报错:
Can't bind to 'ngModel' since it isn't a known property of 'input'.
百度一下,提示需要引入
FormsModule组件
即:
app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule } from '@angular/router';
import { ReactiveFormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { TopBarComponent } from './top-bar/top-bar.component';
import { ProductListComponent } from './product-list/product-list.component';
import { ProductAlertsComponent } from './product-alerts/product-alerts.component';
import { FormsModule } from '@angular/forms';
@NgModule({
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
RouterModule.forRoot([
{ path: '', component: ProductListComponent },
])
],
declarations: [
AppComponent,
TopBarComponent,
ProductListComponent,
ProductAlertsComponent
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
/*
Copyright Google LLC. All Rights Reserved.
Use of this source code is governed by an MIT-style license that
can be found in the LICENSE file at https://angular.io/license
*/
具体原因有待查找
浙公网安备 33010602011771号