Javascript создать объект на основе определенных свойств класса - PullRequest
0 голосов
/ 06 мая 2018

Я хочу создать экземпляр объекта с существующими свойствами текущего класса простым способом.

Почему-то я так и не смог найти ответ в сети.

Так я и ожидал. Пожалуйста, дайте мне простой ответ, если есть.

class user {
    @observable username = '';
    @observable email = '';
    @observable password = '';
    @observable gender = '';

    @observable errors = {};

    @action
    submitRegister() {
      const userData = {
        username,
        email,
        password,
        gender
        }

        Axios.post('/api/users', userData).then(this.recieveMessage,this.recieveErrors);
      }
}

Если я сделаю следующее для каждого свойства, оно работает, но я думаю, что есть более короткий ответ. По крайней мере, я на это надеюсь.

const userData = { [this.username]: this.username, ...}

1 Ответ

0 голосов
/ 06 мая 2018

Исходя из вашей короткой надежды на ответ и вашей попытки:

const userData = { [this.username]: this.username, ...}

Вместо этого попробуйте распространить this.username, вот так:

const userData = { ...this.username }

Также попробуйте распространить this, вот так:

const userData = { ...this }

...