当前位置: 首页 > news >正文

深圳网站建设公司收费标准郑州网站推广电话

深圳网站建设公司收费标准,郑州网站推广电话,拼团网站建设,php做网站的重点在Element UI中,如果多个父子组件共用一个el-dialog弹窗,并且需要在切换组件页面时关闭弹窗,你可以考虑以下方法来实现: 使用Vuex进行状态管理: 在Vuex中创建一个状态来管理弹窗的显示状态(例如&#xff0…

在Element UI中,如果多个父子组件共用一个el-dialog弹窗,并且需要在切换组件页面时关闭弹窗,你可以考虑以下方法来实现:

使用Vuex进行状态管理:

在Vuex中创建一个状态来管理弹窗的显示状态(例如,showDialog)。 在父子组件中都可以访问这个状态,以便共享。
当需要打开或关闭弹窗时,分发对应的Vuex mutation 来更新showDialog状态。
在el-dialog中使用v-if或v-show根据showDialog的值来控制弹窗的显示与隐藏。

// store.js
import Vue from 'vue';
import Vuex from 'vuex';Vue.use(Vuex);export default new Vuex.Store({state: {showDialog: false,},mutations: {toggleDialog(state) {state.showDialog = !state.showDialog;},},
});

在父子组件中使用 mapState 和 mapMutations 来访问和修改 showDialog 状态:

// ParentComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button><child-component></child-component><el-dialog :visible="showDialog" @close="toggleDialog"><!-- 弹窗内容 --></el-dialog></div>
</template><script>
import { mapState, mapMutations } from 'vuex';export default {computed: {...mapState(['showDialog']),},methods: {...mapMutations(['toggleDialog']),},
};
</script>
// ChildComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button></div>
</template><script>
import { mapMutations } from 'vuex';export default {methods: {...mapMutations(['toggleDialog']),},
};
</script>

事件总线:

创建一个事件总线(Event Bus)作为Vue实例,使得不同组件可以通过该事件总线进行通信。
在需要打开或关闭弹窗的地方,触发事件,然后在el-dialog所在的组件中监听这些事件,以控制弹窗的显示与隐藏。

// EventBus.js
import Vue from 'vue';
export default new Vue();

在需要打开或关闭弹窗的地方触发事件:

// ParentComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button><child-component></child-component><el-dialog :visible="showDialog" @close="toggleDialog"><!-- 弹窗内容 --></el-dialog></div>
</template><script>
import EventBus from './EventBus';export default {data() {return {showDialog: false,};},methods: {toggleDialog() {this.showDialog = !this.showDialog;EventBus.$emit('toggle-dialog', this.showDialog);},},
};
</script>
// ChildComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button></div>
</template><script>
import EventBus from './EventBus';export default {methods: {toggleDialog() {EventBus.$emit('toggle-dialog', true);},},
};
</script>

在el-dialog所在的组件中监听事件:

// AnyComponent.vue
<template><el-dialog :visible="showDialog" @close="toggleDialog"><!-- 弹窗内容 --></el-dialog>
</template><script>
import EventBus from './EventBus';export default {data() {return {showDialog: false,};},created() {EventBus.$on('toggle-dialog', (showDialog) => {this.showDialog = showDialog;});},
};
</script>

使用provide和inject:

在父组件中使用provide来提供一个控制弹窗显示的方法,或者提供一个布尔值的ref。
在子组件中使用inject来获取这些提供的数据。
子组件可以调用提供的方法或者监听提供的ref来控制弹窗的显示与隐藏。

在父组件中使用provide来提供一个方法或ref:

// ParentComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button><child-component></child-component><el-dialog :visible="showDialog" @close="toggleDialog"><!-- 弹窗内容 --></el-dialog></div>
</template><script>
export default {provide: {toggleDialog: this.toggleDialog, // 方法showDialogRef: this.showDialogRef, // ref},data() {return {showDialog: false,showDialogRef: ref(false),};},methods: {toggleDialog() {this.showDialog = !this.showDialog;this.showDialogRef.value = this.showDialog;},},
};
</script>

在子组件中使用inject来获取这些提供的数据:

// ChildComponent.vue
<template><div><button @click="toggleDialog">Toggle Dialog</button></div>
</template><script>
import { inject } from 'vue';export default {setup() {const { toggleDialog, showDialogRef } = inject();const toggleDialogInParent = () => {toggleDialog();};return {toggleDialogInParent,showDialogRef,};},
};
</script>
http://www.wangmingla.cn/news/13861.html

相关文章:

  • 网站运营做内容百度权重3的网站值多少
  • 企业公司网站建设网络营销策略主要包括
  • wap网站使用微信登陆营销技巧第三季
  • 网站制作模板下载易推广
  • 长沙销售公司 网站网络推广竞价是什么
  • 做网站数据库多少钱培训平台
  • wordpress站点地址没更改百度竞价返点一般多少
  • 外贸公司网站如何做推广萧山区seo关键词排名
  • 可信网站身份验证百度直播间
  • 邢台哪有学做网站的网络营销优秀案例
  • 做网站销售的技巧seo网站搭建是什么
  • 北京外语网站开发公司百度地图排名可以优化吗
  • 平面设计网站中文深圳网站建设运营
  • 网站建设客户告知书河南seo网站多少钱
  • 可以自己做网站做宣传吗常州seo第一人
  • 广州正规网站建设哪家好百度提交网站
  • 如何用织梦做网站重庆seo博客
  • 各大门户网站品牌营销策划
  • wordpress 排课关键词排名的排名优化
  • 北京城建道桥建设有限公司网站提交网站收录入口
  • 深圳网站公司建设方案百度客服电话24小时客服电话
  • 做外贸的网站浙江seo外包
  • 做的比较好的二手交易网站有哪些推广公司有哪些
  • 西安市社交网站制作公司企业网站模板设计
  • 旅游网站设计代码模板怎么自己开发网站
  • 备案网站可以做影视站网站怎么优化排名靠前
  • 如何自己做网站做淘宝客买转发链接
  • 怎么用服务器搭建网站网站seo推广
  • 制作自己的app多少钱海阳seo排名
  • 网站设计案例网站百度搜索排名与点击有关吗