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

国际摄影作品网站如何申请一个网站 做视频

国际摄影作品网站,如何申请一个网站 做视频,网络营销是一种无媒介销售,移动微网站在Vue3中&#xff0c;我们可以通过 provide 和 inject 来实现父子组件之间的数据传递&#xff0c;这也适用于实现弹框功能。下面是一个简单的例子&#xff1a; 父组件代码&#xff1a; <template><div><button click"showDialog">打开弹框</b…

在Vue3中,我们可以通过 provideinject 来实现父子组件之间的数据传递,这也适用于实现弹框功能。下面是一个简单的例子:

父组件代码:

<template><div><button @click="showDialog">打开弹框</button><my-dialog :visible="dialogVisible" @close="handleDialogClose"><!-- 弹框内容 --></my-dialog></div>
</template><script>
import MyDialog from './MyDialog.vue'export default {components: {MyDialog},data() {return {dialogVisible: false}},methods: {showDialog() {this.dialogVisible = true},handleDialogClose() {this.dialogVisible = false}}
}
</script>

在父组件中,我们定义了一个 dialogVisible 变量来控制弹框的显示与隐藏,以及对应的方法来打开和关闭弹框。同时,我们将要展示的弹框作为父组件的子组件嵌入到模板中,并将 visible 属性绑定到 dialogVisible 变量上,这样在弹框中也可以使用它来控制弹框的显示与隐藏。

子组件代码:

<template><div v-if="visible"><div class="dialog-overlay" @click="close"></div><div class="dialog-content"><slot></slot></div></div>
</template><script>
export default {props: {visible: {type: Boolean,default: false}},inject: ['close'],mounted() {document.body.style.overflow = 'hidden'},beforeUnmount() {document.body.style.overflow = ''}
}
</script>

在子组件中,我们定义了一个 visible 属性来控制该弹框的显示与隐藏。同时,我们使用了 inject 来注入父组件中定义的 close 方法,这样在子组件中就可以调用该方法来关闭弹框。在弹框的模板中,我们使用了 slot 来插入具体的弹框内容,而弹框的样式可以通过 CSS 进行控制。

至此,我们就成功地实现了一个简单的弹框功能。当然,这只是一个简单的示例,实际上我们还可以通过传递参数,定制弹框的样式和行为等方式来进一步丰富弹框功能。

第二种方法

在Vue3中,可以使用provideinject来实现父子组件之间的值传递。具体的实现步骤如下:

  1. 在父组件中使用provide来提供一个方法,该方法将会被传递给子组件。在该provide方法中,通过ref来创建一个响应式状态 isShowModal,用于控制弹框的显示和隐藏。
// 父组件
<template><div><button @click="openModal">打开弹框</button><ChildComponent /></div>
</template><script>
import { provide, ref } from 'vue';
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent,},setup() {const isShowModal = ref(false);const openModal = () => {isShowModal.value = true;};provide('openModal', openModal);provide('isShowModal', isShowModal);},
};
</script>

  1. 在子组件中使用inject来获取父组件传递的isShowModalopenModal。在子组件中,通过watch监听isShowModal的变化,从而控制弹框的显示和隐藏。
// 子组件
<template><div><Modal :visible="isShowModal" /></div>
</template><script>
import { inject, watch } from 'vue';
import Modal from './Modal.vue';export default {components: {Modal,},setup() {const isShowModal = inject('isShowModal');const openModal = inject('openModal');watch(isShowModal, (newVal) => {if (newVal) {Modal.open({title: '提示',content: '这是一个弹框',onOk: () => {isShowModal.value = false;},});} else {Modal.close();}});},
};
</script>

  1. 根据需求自定义Modal组件,实现弹框的显示和隐藏逻辑。
// Modal.vue
<template><div v-show="visible" class="modal"><div class="modal-mask"></div><div class="modal-wrapper"><div class="modal-content"><div class="modal-header"><slot name="header"></slot><span class="modal-close" @click="handleClose">×</span></div><div class="modal-body"><slot name="content"></slot></div><div class="modal-footer"><slot name="footer"></slot></div></div></div></div>
</template><script>
import { ref } from 'vue';const MODAL_CONTAINER_CLASSNAME = 'modal-container';export default {props: {visible: {type: Boolean,default: false,},},setup(props) {const modalContainer = ref(null);const handleClose = () => {props.onClose && props.onClose();};const transitionEndHandler = () => {if (!props.visible) {modalContainer.value.classList.remove(MODAL_CONTAINER_CLASSNAME);}};const open = ({ title, content, onOk, onCancel }) => {props.onOpen && props.onOpen();modalContainer.value.classList.add(MODAL_CONTAINER_CLASSNAME);};const close = () => {props.onClose && props.onClose();};return {handleClose,open,close,};},
};
</script>

通过以上的实现,即可在Vue3中实现父子组件之间的弹框功能。

http://www.yayakq.cn/news/179266/

相关文章:

  • pc网页游戏网站wordpress演示版
  • 网站开发公司对比wordpress外汇
  • 烟台高新区规划国土建设局网站网站开发毕设参考文献
  • 沧州做网站推广揭阳专业网站设计公司
  • 沈阳做网站 熊掌号wordpress投票小工具
  • 网站文件名格式牛推网官网
  • 网站开发还有哪些江西建筑工程网
  • 网站开发 工资高吗天津网站开发建设
  • 产品展示网站源码wordpress主题怎么选
  • 建设电商网站哪个平台比较好舆情系统
  • 深圳模板建站平台wordpress 未分类
  • 怎么做网站版面wordpress js 添加
  • 深圳住房与建设部网站301重定向手机网站
  • iis网站改端口wordpress建立店铺
  • wordpress网站编辑免费发布信息有哪些网站
  • 百度入口网站做设计的一般在什么网站找素材
  • 杭州响应式网站开发wordpress 自定义函数
  • 软件企业网站建设栏目结构图百度平台电话多少
  • 我的世界怎么做神器官方网站小程序源码怎么运行
  • 论文中网站数据如何做脚注公司建立网站怎么做分录
  • 查看网站浏览量艺术家网站源码
  • 门户网站开发过程正规做网站公司
  • 做游戏 做网站手机百度app免费下载
  • 哪有专业做网站网站载入页面怎么做
  • 网站后台有显示前台没有网站开发学习网
  • 扬州网站建设费用wordpress替换google字体
  • 专注微信网站建设网站建设公司上海
  • 怎样建设文章网站锦州网站建设品牌好
  • 一万元做网站有没有让人做问卷的网站
  • 企业宣传网站案例wordpress制作模板