使用vue控制另一个组件的显示隐藏不在一个文件里面
时间: 2023-07-14 11:12:31 浏览: 241
使用Vue写一个datepicker的示例
如果你想在一个组件中控制另一个组件的显示和隐藏,可以使用Vue.js的事件总线机制。具体步骤如下:
1. 在main.js或者任何一个公共文件中创建Vue实例作为事件总线
```javascript
// main.js
import Vue from 'vue'
export const EventBus = new Vue()
```
2. 在需要控制显示和隐藏的组件中,触发事件
```javascript
// ComponentA.vue
import { EventBus } from '@/main.js'
export default {
methods: {
showComponentB() {
EventBus.$emit('show-component-b')
}
}
}
```
3. 在需要被控制显示和隐藏的组件中,监听事件并控制显示和隐藏
```javascript
// ComponentB.vue
import { EventBus } from '@/main.js'
export default {
data() {
return {
show: false
}
},
mounted() {
EventBus.$on('show-component-b', () => {
this.show = true
})
}
}
```
这样,当你在ComponentA中调用showComponentB方法时,会触发show-component-b事件,ComponentB会监听该事件并控制自己的显示和隐藏。
阅读全文