visible 常用与el-dialog、el-drawer组件中,

我们控制组件是否显示,写法如下,然后我们会在data中定义drawer的初始值,一般都是false

<el-drawer title="这是标题" :visible="drawer" ref="drawer">

这个两个组件右上方可以显示"X"样的关闭按钮,点击这个按钮需要实现关闭组件的功能,那么就需要改变false的值,但是这个按钮的功能是子组件(el-drawer)的,在VUE中,prop的传递是父传给子,属于单向传输,而关闭事件在子组件里,一般情况下需要通过this.$emit来实现子组件向父组件通信。

虽然在子组件直接修改visible也能够关闭窗口,但是该变量不能传给父组件,所以并不建议这么做,(如果您任性,觉得父组件拿到这个变量也没用,那您尽管在子组件中修改,但是小心父组件的入参变化时会覆盖你的修改)

那么this.$emit的作用就是实现子组件向父组件向子组件通信用的

因此这里需要实现点击"X"可以关闭组件,有两种方法

方法一、

在子组件中通过this.$emit方法调用父组件的update方法,因为关闭按钮会调用子组件自己的close方法,因此修改如下,如下

close(){// this.visible =  false 删除这一行代码this.$emit('update:visible', false)}

方法二、

在visible后面添加.sync修饰符,这其实是一个语法糖

<el-drawer title="这是标题" :visible.sync="drawer" ref="drawer">

等价于

<el-drawer title="这是标题" :visible="visible" @update:visible="val => visible = val" ref="drawer">

与之相对,父组件需要调用子组件中的方法,this.$refs.子组件的ref.子组件的方法,代码如下

this.$refs.drawer.close

上面代码中的drawer,就是我们在<el-drawer title="这是标题" :visible="drawer" ref="drawer">,这里定义的ref="drawer"

参考

http://t.zoukankan.com/sugartang-p-14697089.html

https://blog.csdn.net/qq_26386437/article/details/108590530

https://blog.csdn.net/zjpjay/article/details/113992083

vue-:visible.sync的作用相关推荐

  1. element中el-dialog的:visible.sync理解

    今天一直在纠结dialog中的sync有什么用?? 因为在官方文档的在线运行中,没有发现其他方法: 所以一度认定,sync就是起一个关闭弹层的作用:原本在子组件中使用el-dialog时,去掉sync ...

  2. vue中 .sync 修饰符 个人理解

    vue中.sync修饰符有什么用 .sync 修饰符 其实就是一个语法糖 vue中 :子组件不能修改props 外部数据 vue中: $emit 可以触发事件并传参 vue中: $event可以获取 ...

  3. vue3中 :visible.sync 和slot报错

    1.   :visible.sync :visible指的是属性绑定,表示弹框的显示隐藏. 当:visible的值为ture的时候,弹框显示,当为false的时候,弹框隐藏 :visible.sync ...

  4. vue中sync的使用

    vue2.3.x: 以上是vue2.3.x时sync的用法,其实在平常的工作中我用到sync最多的场景一般是父子组件之间控制的dialog弹框的显示隐藏,其实看一下UI库的文档,比如element-u ...

  5. Element Ui 中的 :visible.sync

    若依后台管理[前端] 若依的前端基于饿了么(Element UI)进行开发,其中用到的组件也是非常之多的,如果没有仔细的看过和深入的了解Element UI 那么开发时就会相对的遇到一些问题(说的就是 ...

  6. 封装Dialog子组件 解决 visible.sync问题

    子组件 1.visible.sync语法糖简单介绍 ** <child-dialog :visible.sync="visible"></child-dialog ...

  7. [vue] $nextTick有什么作用?

    [vue] $nextTick有什么作用? 处理数据动态变化后,dom还未及时更新的问题.nexttick就可以获取到数据更新后最新的dom变化 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃 ...

  8. [vue] vue生命周期的作用是什么?

    [vue] vue生命周期的作用是什么? 准确地控制数据流和其对DOM的影响 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前 ...

  9. vue中.sync修饰符与自定义组件的v-model的使用

    .sync修饰符 有时我们需要父组件向子组件传值,并且子组件要修改父组件中的值是,我们一般会这样写 //父组件 <template>//子组件修改值 父组件注册自定义事件 传过来的参数通过 ...

最新文章

  1. ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决
  2. Maven详解(二)------ Maven的安装配置
  3. Windows Server 2016 配置指南 全系列
  4. python微信开发实例 pdf 百度网盘_用python看女神微信里的百度云资源有啥?
  5. sql 解析字符串添加到临时表中 sql存储过程in 参数输入
  6. 将页面数据转json存入数据库
  7. 杭电4500小Q系列故事——屌丝的逆袭
  8. Android 布局优化方案
  9. 百度地图API—简易操作
  10. OA系统管理项目工作内容
  11. 不想做却不得不做某份工作,怎么破?
  12. 查看网站的爬虫协议,简单介绍爬虫协议robots.txt,避免爬虫爬的好,牢饭吃得早(保姆级图文)
  13. 堡垒主机内控管理平台产品方案介绍
  14. 猿团宣布加入中国信息无障碍产品联盟,致力信息无障碍化公益事业
  15. PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介
  16. 筹资与投资循环审计案例
  17. java访问局域网共享资源
  18. 阿里云新用户活动:云服务器ECS 新购、升级报价出炉了!
  19. JAVA 中文汉字转换阿拉伯数字(最终版,已修复了亿及亿以下的汉数字的转换,超过后的数字,暂时不支持)
  20. 移动通信基础(1)比特、比特率、符号速率、码片速率、波特率、码元

热门文章

  1. 仿鲜果网切换activity
  2. Python集合推导式
  3. 幸福森林的闲人日记系列之---面试经(教训篇)
  4. 【时事摘抄】“冷漠的哥”获罪是否可有法依?----坐视强奸的司机
  5. 布局春节和情人节,知乎好物带货10年可玩
  6. jeesite限制用户只能在一处登录
  7. Vue 之 Vue Cli Html 移动端调试调试工具简单使用说明(Eruda、vConsole)
  8. webpack-devtool
  9. 小米手机使用应用沙盒动态修改电池信息
  10. Python:披萨店主页程序练习