@kiranananda

Как корректно писать код с props?

Здравствуйте!

Читаю доки по vue написано, что не корректно менять значения props и он выводит варнинги. Когда то в начале он мне и выводил предупреждения. Но вот на код ниже он не ругается. По сути у меня один компонент передает объект другому компоненту, а далее пишу код.

computed: {
        	fields () {
        		for (var key in this.data) {
        			if ( ! this.data[key]['attr'] ) this.data[key]['attr'] = {};
        			if ( ! this.data[key]['attr']['id'] ){
        				this.data[key]['attr']['id'] = 'Forms_'+this.data[key]['name'];
        			}
                }
        		return this.data;
        	}
        }


В данном случае не так страшно, что измениться свойства родительского объекта, но в идеале хорошо бы в дальнейшем писать более правильный код. Подскажите как будет корректно?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
lavezzi1
@lavezzi1
Нужно сохранять prop в data(), если вы планируете его изменять.
props: {
    value: [String, Number, Object, Array]
}
data() {
    return {
       mutableValue: this.value
    };
}


И дальше mutableValue крутите как угодно. Еще правильней будет сохранять prop value через watch.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы