我正在创建一个简单的表单,我需要编写一个使用输入数据的函数。
所以我想从下面的模板访问object.name
:
.form-group
label Name
input.form-control(type="text", name="name", #name="ngModel", [(ngModel)]="object.name")
但是在我的控制器中未定义
import { Component, OnInit, OnChanges, Input } from '@angular/core';
// other imports here...
interface IObject {
name: string;
description: string;
// other string and boolean properties here...
}
@Component({
selector: 'app-foo-modal',
templateUrl: './foo-modal.component.html',
styleUrls: ['./foo-modal.component.scss']
})
export class FooModalComponent implements OnInit, OnChanges {
@Input() public object: IObject = {} as any;
constructor() { }
ngOnInit()
console.log(this.object.name); //undefined
console.log(this.object); //undefined as well
}
ngOnChanges() {
console.log(this.object.name); //also undefined
}
我已经缩短了代码并更改了名称,以使它成为一个更清晰的示例。
为什么未定义?模板中有[(ngModel)]
,所以我不知道还有什么。