gpt4 book ai didi

javascript - 如何组合两个组件 Vue.js

转载 作者:行者123 更新时间:2023-11-30 20:13:31 30 4
gpt4 key购买 nike

我有一个组件是一个按钮,一个是 html。我需要从具有 v-if 条件的 html 组件中的按钮获取响应。如果按钮单击 true 附加 html。

 <template>

<button v-on:click="greet">Greet</button>

</template>

<script>
export default {

data () {
return {
toggle: false,
}
},

mounted() {
console.log('Add more componente mounted.')
}
}
</script>

HTML 组件:

<template>

<div v-show='toggle' class="bg-white">
<div class="row">
<div class="col-md-5">
<h1>Title</h1>
....
.....
</div>
</div>
</div>

</template>

<script>
export default {

data () {
return {
toggle: true
}
},

mounted() {
console.log('Add more componente mounted.')
}
}
</script>

如何获取/传递和使用html组件中的按钮响应,toggle: false,

最佳答案

您可以在父组件和子组件之间交换数据,使用 props 将数据从父组件发送到子组件,使用 this.$emit 事件将数据从子组件发送到父组件.

子按钮组件

<template>
<button v-on:click="greet">Greet</button>
</template>
<script>
export default {
props:[toggle:{type:boolean,default:false}]
data () {
return {}
},
methods:{
greet(){
this.$emit("btn-click");
}
}
,
mounted() {
console.log('Add more componente mounted.')
}
}
</script>

和父html组件

<template>

<div v-show='toggle' class="bg-white">
<div class="row">
<div class="col-md-5">
<h1>Title</h1>
<your-btn :toggle="toggle" v-on:btn-click="greetFromBtn"/>
</div>
</div>
</div>

</template>

<script>
import yourBtn from 'pathToYourBtnComponent/yourBtn'
export default {

data () {
return {
toggle: true
}
},
components:{
yourBtn
},
methods:{
greetFromBtn(){

}
},

mounted() {
console.log('Add more componente mounted.')
}
}
</script>

关于javascript - 如何组合两个组件 Vue.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165035/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com