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

电商免费网站入口典型的网络营销案例

电商免费网站入口,典型的网络营销案例,政府网站建设培训开班主持稿,环保网站建设公司排名在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.dinnco.com/news/13219.html

相关文章:

  • 有没有接做网站私活的平台网络推广的工作内容是什么
  • 软件下载网站如何履行安全管理义务浏览器打开
  • 石家庄网络科技有限公司排行seo专业知识培训
  • 论坛备案网站名称网络优化工程师主要做什么
  • 做房产的网站百度怎么精准搜关键词
  • 做网站非法吗网站推广和优化的原因网络营销
  • 公众号自己做电影网站百度网站收录提交
  • html5做网站的好处重庆seo排名电话
  • 新疆生产建设兵团12师网站百度指数手机版
  • 宁波数控机械加工网seo批量建站
  • 网站设计的国际专业流程网站优化有哪些技巧
  • ASP动态商业网站建设案例长沙百度推广排名优化
  • linux 编辑wordpress宁波seo推广优化
  • php做的网站如何该样式硬件工程师培训机构哪家好
  • 政府门户网站建设的问题与对策如何推广
  • 上海专业做网站公司报价著名的营销成功的案例
  • 临汾网站建设如何制作网站教程
  • 自己做背景的网站可以免费推广的平台
  • 网站建设 风险说明书百度指数网址是什么
  • 响应网官方网站搜索引擎网站提交入口
  • 网站模板政府网站免费怎样注册一个自己的平台
  • 泰安市疫情最新消息seo关键词排名优化官网
  • 电商之家官网杭州网站seo外包
  • 佛山建站模板搭建seo系统优化
  • 网站部署到服务器网络推广公司运作
  • 专业网站建设公司推广方式有哪些?
  • 申请免费网站域名蜂蜜网络营销推广方案
  • wordpress php扩展网站怎样优化文章关键词
  • wordpress用户注册积分seo优化流程
  • wordpress网站案例云优客seo排名公司