【发布时间】:2018-02-19 23:18:05
【问题描述】:
我的父组件是这样的:
<template>
<div ref="modal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content modal-content-data">
<form id="form-data">
...
<location-select .../>
...
</form>
</div>
</div>
</div>
</template>
<script>
import LocationSelect from './LocationSelect.vue'
export default{
name: 'CartModal',
components:{
LocationSelect,
},
mounted(){
$(this.$refs.modal).on('hidden.bs.modal', () => {
Object.assign(this.$data, this.$options.data())
})
}
}
</script>
如果模态隐藏,它将重置父组件中的数据并且它可以工作
我也想在子组件中重置数据
我尝试这样:
<template>
<select class="form-control" v-model="selected" ...>
...
</select>
</template>
<script>
export default{
name: 'LocationSelect',
...
created() {
$(this.$parent.$refs.modal).on('hidden.bs.modal', () => {
Object.assign(this.$data, this.$options.data())
})
}
};
</script>
但它不起作用
子组件没有重置数据
我该如何解决这个问题?
【问题讨论】:
-
使用 props 传递数据。然后你就可以控制它了
标签: vue.js vuejs2 vue-component vuex