У меня есть дочерний компонент Vue, который получает данные от родителя через реквизит.То, что я хочу, чтобы установить значение свойства "name", как показано ниже:
<template>
<input v-model="name" type="text" placeholder="Name" id="name"> <!-- this does not work -->
{{ this.productdata.name }} <!-- this works -->
{{ name }} <!-- this DOES NOT work -->
</template>
export default {
data() {
return {
name: this.productdata.name
}
},
props: ['productdata'],
methods: {
setProductData()
{
this.name = this.productdata.name;
}
},
mounted() {
// because "name: this.productdata.name" doesn't work I tried to make it like below... No success.
this.setProductData();
},
}
Я думаю, это как-то связано с тем, что дочерний компонент Vue становится реактивным.У меня есть готовое рабочее решение, но оно совсем не элегантно:
mounted() {
setTimeout(() => {
this.setProductData();
}, 2000);
},
Есть предложения, как сделать это лучше?