【问题标题】:Angular attributes Cannot set property of undefined角度属性无法设置未定义的属性
【发布时间】:2019-07-04 00:41:48
【问题描述】:

我的父组件中有这个:

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;
}

我不断收到此错误

未捕获的类型错误:无法设置未定义的属性“车库名称” 在评估(评估在

为什么会这样?我知道它是未定义的,因为我想把价值放在里面。而不是初始值。

【问题讨论】:

    标签: html css angular angular6


    【解决方案1】:

    看起来你还没有初始化target

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

    target: { garageName: string, details: string } = {
      garageName: '',
      details: ''
    };
    
    ...
    
    inputChange(event) {
      this.target.garageName = event.target.value;
    }
    

    这里有一个Working Sample StackBlitz 供您参考。

    【讨论】:

      【解决方案2】:

      初始化你的变量,你应该很好。如下:

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

      【讨论】:

        猜你喜欢
        • 2021-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-27
        相关资源
        最近更新 更多