角度属性无法设置未定义的属性

时间:2019-02-10 09:18:13

标签: html css angular angular6

我在父组件中有这个

target: {
  garageName: string,
  details: string
}

所以它基本上就像定义一个接口。

我的HTML中有

<div>
  <input 
    (change)="inputChange($event)" 
    placeholder='add garagename'>
</div>

我的parent.ts文件:

inputChange(event){
  this.target.garageName = event.target.value;
}

而且我不断收到此错误

  

未捕获的TypeError:无法设置未定义的属性“ garageName”           在eval(在

为什么会这样?我知道它是未定义的,因为我想在其中添加价值。而不是初始值。

2 个答案:

答案 0 :(得分:0)

好像您尚未初始化target

这样做,它应该可以正常工作。像这样:

target: { garageName: string, details: string } = {
  garageName: '',
  details: ''
};

...

inputChange(event) {
  this.target.garageName = event.target.value;
}

  

这是您推荐的Working Sample StackBlitz

答案 1 :(得分:0)

初始化变量,您应该会很好。如下所示:

target: { garageName: string, details: string } = { garageName:'', details:''};