我正在尝试构建一个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/

10-13 04:31