因此,根据控制台,我无法在登录后路由到仪表板,因为surname属性未定义,但在我的警报中,我始终可以看到它正确填写
login(surName: string, passWord){
const name = this.members.find( x => x.surname === surName)
const pass = this.members.find( x => x.password === passWord)
if(name && pass){
for (const element of this.members) {
if(element.surname === surName){
alert(element.surname + surName);
this.persist.setPersistence(surName, element.color);
alert("You are Logged in" + element.surname + element.color);
this.router.navigate(['/dashbaord']);
return;
}
}
}else{
alert("User Details are incorrect please make sure your username and password is correct");
}
}我可以随时检查从输入的数据到按下的登录,再到传递给set函数的值,这就是错误发生的地方,但我可以看到值,所以我不知道发生了什么
import { Injectable } from '@angular/core';
import { Persistance} from '../Persistance/persistance.model'
@Injectable({
providedIn: 'root'
})
export class PersistService {
persist: Persistance;
constructor() { }
setPersistence(surname : string, color: string){
alert(surname);
this.persist.surname = surname;
this.persist.color = color;
}
}错误:
core.js:4197 ERROR TypeError: Cannot set property 'surname' of undefined我可以看到这个属性在它被分配或使用的所有点上定义,所以我不能真正理解这里发生了什么
发布于 2021-01-25 16:28:34
就像这样
persist: Persistance = {};应该能行得通。你的对象还没有初始化,因此你不能给它的任何属性赋值。
https://stackoverflow.com/questions/65880915
复制相似问题