我正在尝试构建一个JS应用程序,该应用程序在填写表单时实例化新的联系人对象。但是,当涉及到类时,我努力在获取输入字段和实例化联系之间创建逻辑。
到目前为止的代码。
在点击时创建联系人的类。
export class Create {
addEventListeners () {
document.querySelector('#new-contact').addEventListener("click", createContact);
}
createContact () {
let contact = new Contact({
contFn: 'Tim',
contLn: 'Cook'
})
}
}
联系人的类别。
'use strict';
export class Contact {
constructor (contFn, contLn, contEmail, contPhone, contSocial) {
this.contFn = contFn;
this.contLn = contLn;
this.contEmail = contEmail;
this.contPhone = contPhone;
this.contSocial = contSocial;
}
printContact () {
console.log(this.contFn);
console.log(this.contLn);
}
}
window.addEventListener('load', () => new Contact());
最佳答案
createContact
未定义。没有使用该名称的变量。这是一种方法,是从实例原型继承的属性。您必须以this.createContact
身份访问它。但是,假设您在方法内部使用Create
实例,则不能在没有losing context的情况下将其传递给他人,因此您应该
addEventListeners () {
document.querySelector('#new-contact').addEventListener("click", (e) => this.createContact(e));
}
请注意,如果它没有做其他任何事情,则可能不应该在此处使用
class
。关于javascript - 将联系表单信息存储到JavaScript(ES6)中的类吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36642090/