@givemoneybiatch
Немного веб, немного гейм

Как установить стартовое значение свойства в Angular 5?

В компоненте есть модель с множеством свойств.
public model = {
        bool: false,        
        text: '',
        array: [],
        number: 0,
        obj: {}
    };

В процессе работы компоненты, значения могут изменятся, но бывает нужно сделать откат к первоначальным значениям. Всю компоненту не нужно реинициализировать, только некоторые свойства. Есть ли такой метод в Angular/Typescript/JS ?
Например
this.model.reset()
  • Вопрос задан
  • 174 просмотра
Решения вопроса 1
@Coder321
this.model = new Model()
или же более трудоемкий способ, но не думаю что коректный
class Model {
    private _initialValues = {
        name: 'name',
        surname: 'surname'
    }

    constructor() { }

    reset() {
        Object.keys(this._initialValues).forEach(key => {
            this[key] = this._initialValues[key];
        })
    }

}

class Model  {
    constructor() {
        this.name = 'test'
    }

    reset() {
        const newInstance = new Test();
        Object.keys(newInstance).forEach(key => {
            this[key] = newInstance[key];
        })
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы