vuejs如何在父组件中单击按钮调用子组件
how to call child componenet on button click in parent componenet in vuejs
在父组件中包含子组件,我想在单击按钮时渲染(触发)子组件。这是我的代码
<script>
import childComponenet'../../components/child-component.vue';
export default {
name:'parentComponenet',
components:{
childComponenet
},
methods: {
goToChild(tag){
//go to child component
}
</script>
你到底是什么意思?单击 parent 上的按钮时显示 child?还是re-render呢?
如果你想show/render它,你可以做类似
的事情
<template>
<button @click="toggleShowChild">Show Child Component</button>
<ChildComponent v-show="showChild"/>
</template>
<script>
import childComponenet'../../components/child-component.vue';
export default {
name:'parentComponenet',
components:{
childComponenet
},
data () {
return {
showChild: false
}
},
methods: {
toggleShowChild() {
this.showChild = !this.showChild
},
goToChild(tag){
//go to child component
}
</script>
这是更进一步,您可以使用按钮切换 child。如果你想让按钮只显示child,你可以只在按钮上做@click="showChild = true"
,根本不写方法。
您也可以使用 v-if 而不是 v-show 来做同样的事情。更多关于 difference between v-if and v-show.
使用 $emit 或 vuex 但如果它 child 并且父母使用 $emit
在父组件中包含子组件,我想在单击按钮时渲染(触发)子组件。这是我的代码
<script>
import childComponenet'../../components/child-component.vue';
export default {
name:'parentComponenet',
components:{
childComponenet
},
methods: {
goToChild(tag){
//go to child component
}
</script>
你到底是什么意思?单击 parent 上的按钮时显示 child?还是re-render呢?
如果你想show/render它,你可以做类似
的事情<template>
<button @click="toggleShowChild">Show Child Component</button>
<ChildComponent v-show="showChild"/>
</template>
<script>
import childComponenet'../../components/child-component.vue';
export default {
name:'parentComponenet',
components:{
childComponenet
},
data () {
return {
showChild: false
}
},
methods: {
toggleShowChild() {
this.showChild = !this.showChild
},
goToChild(tag){
//go to child component
}
</script>
这是更进一步,您可以使用按钮切换 child。如果你想让按钮只显示child,你可以只在按钮上做@click="showChild = true"
,根本不写方法。
您也可以使用 v-if 而不是 v-show 来做同样的事情。更多关于 difference between v-if and v-show.
使用 $emit 或 vuex 但如果它 child 并且父母使用 $emit