【发布时间】:2021-05-23 10:49:09
【问题描述】:
我有子组件,它有一些内部数据,不应该从外部更改。但是当我从父组件更新 prop 时,这个内部数据会被重置。
基本上在下面的示例中,当我们从外部更改title 时,value 被设置回空''。如何通过子组件道具更新使value 持久化?
Child.vue
<template>
<div class="child">
<h2>{{title}}</h2>
<input type="text" :value="value" v-on:change="$emit('change', $event.target.value)">
</div>
</template>
<script>
export default {
props: {
title: {
default: 'Just title'
}
},
data() {
return {
value: ''
}
}
}
</script>
父.vue
<template>
<div class="parent">
<Child :title="title" v-on:change="processTitle($event)"></Child>
</div>
</template>
<script>
import Child from './Child';
export default {
data() {
return {
title: 'Title from parent'
}
},
methods: {
processTitle(value) {
this.title = value.reverse();
}
}
}
</script>
【问题讨论】:
标签: vue.js