【发布时间】:2018-12-19 00:44:19
【问题描述】:
我正在尝试在 vanila js 中实现淘汰观察计算行为
在 react 中,您将拥有这两个状态变量并计算全名
我们如何在 vanila js 中实现同样的效果
function person(firstname,lastname) {
this.firstname = firstname;
this.lastname = lastname;
this.fullName = `${this.firstname}${this.lastname}`
}
var person1 =new person("abc","k");
Object.defineProperty(person,'firstname',{
get: () => {
return person1['firstname'];
},
set: (name) => {
person1['firstname'] = name;
}
});
Object.defineProperty(person,'lastname',{
get: () => {
return person1['lastname'];
},
set: (name) => {
person1['lastname'] = name;
}
});
Object.defineProperty(person,'fullName',{
get: () => {
return `${person1['firstname']}-${person1['lastname']}`;
}
});
console.log(person1.firstname, "firstnmae");
person1.firstname ="sah";
console.log(person1.lastname, "lastname");
console.log(person1.fullName, "fullname");
【问题讨论】:
-
但我希望它能够影响我们对名字和姓氏所做的更改
标签: javascript oop observable prototype