【发布时间】:2018-07-07 12:14:12
【问题描述】:
父组件:
<template>
<v-btn v-on:click="dialog = !dialog">
</v-btn>
</template
<script>
export default {
data: () => ({
dialog: false
}
</script
子组件:
<template>
<v-layout>
<v-dialog v-model="toggledialog">
<v-btn color="green darken-1" flat="flat"
@click.native="toggledialog = false">Close</v-btn>
</v-dialog>
</v-layout>
</template>
<script>
export default {
data: () => ({
toggledialog: false,
}),
watch: {
dialog: function(){
this.toggledialog = true
},
},
props:['dialog']
}
</script>
此代码有效,但我真的不喜欢 watch 的这种解决方法。
问题:
- 如果
v-model="toggledialog"不关注props:['dialog'],如何在子组件中打开对话框? - 如果在Vue JS中不允许更改props,我在子组件
v-model="dialog"中更改父组件时如何将dialog更改为false?
【问题讨论】:
-
docs 似乎没有在单独的组件中使用
v-dialog的例子,但是这个问题Open a Vuetify dialog from a component template in VueJS 有两种方法。 -
使用 Vue 全局事件总线?
标签: javascript vue.js vuetify.js