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

永嘉网站制作哪家好网站 管理系统

永嘉网站制作哪家好,网站 管理系统,腾讯微信官网,公司网站策划书在Vue3中#xff0c;我们可以通过 provide 和 inject 来实现父子组件之间的数据传递#xff0c;这也适用于实现弹框功能。下面是一个简单的例子#xff1a; 父组件代码#xff1a; templatedivbutton clickshowDialog打开弹框/b…在Vue3中我们可以通过 provide 和 inject 来实现父子组件之间的数据传递这也适用于实现弹框功能。下面是一个简单的例子 父组件代码 templatedivbutton clickshowDialog打开弹框/buttonmy-dialog :visibledialogVisible closehandleDialogClose!-- 弹框内容 --/my-dialog/div /templatescript import MyDialog from ./MyDialog.vueexport default {components: {MyDialog},data() {return {dialogVisible: false}},methods: {showDialog() {this.dialogVisible true},handleDialogClose() {this.dialogVisible false}} } /script在父组件中我们定义了一个 dialogVisible 变量来控制弹框的显示与隐藏以及对应的方法来打开和关闭弹框。同时我们将要展示的弹框作为父组件的子组件嵌入到模板中并将 visible 属性绑定到 dialogVisible 变量上这样在弹框中也可以使用它来控制弹框的显示与隐藏。 子组件代码 templatediv v-ifvisiblediv classdialog-overlay clickclose/divdiv classdialog-contentslot/slot/div/div /templatescript 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中可以使用provide和inject来实现父子组件之间的值传递。具体的实现步骤如下 在父组件中使用provide来提供一个方法该方法将会被传递给子组件。在该provide方法中通过ref来创建一个响应式状态 isShowModal用于控制弹框的显示和隐藏。 // 父组件 templatedivbutton clickopenModal打开弹框/buttonChildComponent //div /templatescript 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在子组件中使用inject来获取父组件传递的isShowModal和openModal。在子组件中通过watch监听isShowModal的变化从而控制弹框的显示和隐藏。 // 子组件 templatedivModal :visibleisShowModal //div /templatescript 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根据需求自定义Modal组件实现弹框的显示和隐藏逻辑。 // Modal.vue templatediv v-showvisible classmodaldiv classmodal-mask/divdiv classmodal-wrapperdiv classmodal-contentdiv classmodal-headerslot nameheader/slotspan classmodal-close clickhandleClose×/span/divdiv classmodal-bodyslot namecontent/slot/divdiv classmodal-footerslot namefooter/slot/div/div/div/div /templatescript 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.dnsts.com.cn/news/215190.html

相关文章:

  • 网站建设 上海wordpress页面链接404
  • 广东公司网站建设企业制作网站
  • 手机网站建设的整体流程图罗庄区住房和城乡建设局网站
  • 393网站门诊部网站建设
  • 宿州市美丽乡村建设网站做电子请帖的网站
  • 网站菜单分类怎么做学it需要什么学历基础
  • 盘锦市住房和城乡建设厅网站大连城市建设档案馆官方网站
  • 自助建站系统搭建网站学校网站建设说明书
  • 为什么要用国外服务器做网站找人代做网站需要注意什么
  • 个人cms网站自贡做响应式网站开发公司
  • 做电影网站需要多大空间有没有做卡哇伊的企业网站
  • 一般小型教育网站的建设和开发apache做网站
  • 网站编辑如何做原创西安品牌策划公司排名
  • 河池做网站手机版网站开发教程
  • 想建个板栗网站怎么做数商云科技
  • 大数据平台是什么关键词是网站seo的核心工作
  • 老k频道网站入口深圳网站开发公司h5
  • 东莞网站建设优化技术wordpress栏目有category
  • 具有品牌的微网站建设怎么做网页反向链接
  • 网站建设需要资料科技创新作文
  • 单位网站建设做到哪个科目网页设计作业讲解
  • 北京网站建设推广文化网站策划书内容
  • 网站站点建设端口号的作用免费域名申请哪个网站好
  • php网站开发兼容怎么设置码制作官网
  • 外贸经常用的网站东阳网站建设dyfwzx
  • 在网站上做封面青岛网站建设公司怎么选
  • 珠海微网站建设网站建设遇到哪些危险
  • 海尔建设此网站的目的是什么意思制作灯笼教程
  • 通信公司网站建设惠州城乡规划建设局网站
  • 站群管理软件wordpress 插件 扫描