Javascript EditSensorComponent.html:10错误类型错误:无法读取属性';名称';未定义的
我在到达编辑路线时遇到问题。我收到这个消息- 错误类型错误:无法读取未定义的属性“name” 当我注释输入名称时,下一次输入返回错误。查看我的代码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
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: ''
}