ngModel在控制器中到处都是未定义的(但可以在模板中访问)

时间:2018-08-15 10:39:30

标签: angular angular-ngmodel

我正在创建一个简单的表单,我需要编写一个使用输入数据的函数。

所以我想从下面的模板访问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)],所以我不知道还有什么。

0 个答案:

没有答案