vue实现模态框的通用写法推荐

 更新时间:2018年02月26日 10:03:59   作者:_小小黑  
下面小编就为大家分享一篇vue实现模态框的通用写法推荐,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在看了element组件的源码后发现,所有模态框其实实现方法都差不多,主要用到了vue在组件化上的双向绑定。代码:

<!--查看槽点对话框-->
<template lang="html">
 <transition name="el-fade-in-linear">
  <div draggable="true" @drag="mouseDrag" @dragend="mouseDragend" :style="dialogStyle" class="g-dialog-wrapper" v-show="myVisible">
   <div class="g-dialog-header">
    <div class="left">
     模态框
    </div>
    <div class="right">
     <i class="g-times-icon fa fa-times" @click="myVisible=false" aria-hidden="true"></i>
    </div>
   </div>
   <div class="g-dialog-container">
   </div>
  </div>
 </transition>
</template>
<script>
 export default {
  props: {
   visible: Boolean
  },
  created() {
  },
  data() {
   return {
    myVisible: this.visible,
  },
  computed: {},
  methods: {
  },
  components: {},
  watch: {
   myVisible: function (val) {
    this.$emit('update:visible', val)
   },
   visible: function (val) {
    this.myVisible = val
   }
  }
 }
</script>
<style lang="css" scoped>
</style>

上面代码主要的部分是watch里面的代码,实现监听数据变化,及时更新。所以在使用的时候就很方便了,在component注册组件之后:

<g-key-dialog :visible.sync="keyDialogVisible"></g-key-dialog>

注:这里必须使用sync,要不是无法双向绑定的

以上这篇vue实现模态框的通用写法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于vue.js v-bind 的一些理解和思考

    关于vue.js v-bind 的一些理解和思考

    本篇文章主要介绍了关于vue.js v-bind 的一些理解和思考,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 基于Vue实现微信小程序的图文编辑器

    基于Vue实现微信小程序的图文编辑器

    这篇文章主要介绍了基于Vue实现微信小程序的图文编辑器,由于微信小程序不能使用常规的图文编辑器(比如百度的UEditor )编辑新闻内容之类的,所以用vue写了个针对小程序用的图文编辑器需要的朋友可以参考下
    2018-07-07
  • vue使用动画实现滚动表格效果

    vue使用动画实现滚动表格效果

    这篇文章主要为大家详细介绍了vue使用动画实现滚动表格效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue3 中的 Vue-Router 和 VueX详解

    Vue3 中的 Vue-Router 和 VueX详解

    VueX 提供了一个全局都可以使用的数据管理仓库,不用考虑父子传值之类的问题,并且可以跨页面传递数据,提高了可维护性,这篇文章主要介绍了Vue3 中的 Vue-Router 和 VueX,需要的朋友可以参考下
    2022-12-12
  • Vue3 + TypeScript 开发总结

    Vue3 + TypeScript 开发总结

    本文直接上 Vue3 + TypeScript + Element Plus 开发的内容,感兴趣的话一起来看看吧
    2021-08-08
  • Vue项目中使用Base64

    Vue项目中使用Base64

    在vue项目中有时会使用到Base6464转码,现将自己使用的一种方法记录下来,对vue使用Base64相关知识感兴趣的朋友一起看看吧
    2024-02-02
  • axios中post请求json和application/x-www-form-urlencoded详解

    axios中post请求json和application/x-www-form-urlencoded详解

    Axios是专注于网络数据请求的库,相比于原生的XMLHttpRequest对象,axios简单易用,下面这篇文章主要给大家介绍了关于axios中post请求json和application/x-www-form-urlencoded的相关资料,需要的朋友可以参考下
    2022-10-10
  • Vue关闭当前弹窗页面的两种方式

    Vue关闭当前弹窗页面的两种方式

    这篇文章主要给大家介绍了关于Vue关闭当前弹窗页面的两种方式,这是最近项目中遇到的一个需求,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • vue运行环境搭建全过程

    vue运行环境搭建全过程

    这篇文章主要介绍了vue运行环境搭建全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 聊聊对Vue中的keep-alive的理解

    聊聊对Vue中的keep-alive的理解

    keepalive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染,也就是所谓的组件缓存,这篇文章主要介绍了说说你对Vue的keep-alive的理解,需要的朋友可以参考下
    2022-11-11

最新评论