Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EditSensorComponent.html:10错误类型错误:无法读取属性';名称';未定义的_Javascript_Angular - Fatal编程技术网

Javascript EditSensorComponent.html:10错误类型错误:无法读取属性';名称';未定义的

Javascript EditSensorComponent.html:10错误类型错误:无法读取属性';名称';未定义的,javascript,angular,Javascript,Angular,我在到达编辑路线时遇到问题。我收到这个消息- 错误类型错误:无法读取未定义的属性“name” 当我注释输入名称时,下一次输入返回错误。查看我的代码 import { Component, OnInit } from '@angular/core'; import { SensorService } from '../servicesapi/sensor.service'; import { ActivatedRoute, Router } from '@angular/router'; impo

我在到达编辑路线时遇到问题。我收到这个消息-

错误类型错误:无法读取未定义的属性“name”

当我注释输入名称时,下一次输入返回错误。查看我的代码

import { Component, OnInit } from '@angular/core';
import { SensorService } from '../servicesapi/sensor.service';
import { ActivatedRoute, Router } from '@angular/router';
import { ISensor } from '../sensor/sensor'
@Component({
  selector: 'app-edit-sensor',
  templateUrl: './edit-sensor.component.html',
  styleUrls: ['./edit-sensor.component.scss']
})
export class EditSensorComponent implements OnInit {
  id: number;
  sens: ISensor;
   constructor(private route: ActivatedRoute, private router: Router, 
 private 
  sensor: SensorService) { }

ngOnInit() {
  // this.sens = new ISensor();

  this.id = this.route.snapshot.params['id'];

  this.sensor.getSingleSensor(this.id)
    .subscribe(data => {
      console.log("data" , data)
      this.sens = data;
    }, error => console.log(error));
  }


  updateEmployee() {
    this.sensor.updateSensor(this.id, this.sens)
      .subscribe(data => console.log(data), error => console.log(error));
    // this.employee = new Employee();
    // this.gotoList();
    this.router.navigate(['/']);
  }

  onSubmit() {
    this.updateEmployee();
 }
}
还有我的html显示错误:

 <h3>Update Employee</h3>
 <div [hidden]="submitted" style="width: 400px;">
  <form (ngSubmit)="onSubmit()">
    <div class="form-group">
    <label for="name">Name</label>
    <input type="text" class="form-control" id="name" required 
  [(ngModel)]="sens.name" name="name"> //here is problem
    </div>

   <div class="form-group">
    <label for="path">Path</label>
    <input type="text" class="form-control" id="path" required 
 [(ngModel)]="sens.path" name="path">
    </div>

  <button type="submit" class="btn btn-success">Submit</button>
</form>
 </div>
更新员工
名称
//这是一个问题
路径
提交

我可以读取数据。我甚至可以让他们大吃一惊,但这个错误返回给我。

出现这个错误的原因是EditSensorComponent的HTML文件是由DOM在ngOnInit()之前呈现的。现在,因为您只定义了sens,而没有初始化它,所以您得到了一个未定义的错误

试试这个:
1.在定义时初始化EditSensorComponent中的sens对象。
2.查看代码,我假设sens对象有两个属性(名称和路径)

sens: ISensor = {
    name: '',
    path: ''
}