vue组件中,iview的modal组件爬坑--modal的显示与否应该是使用v-show
这是我第一次写博客,主要是记录下自己解决问题的过程和知识的总结,如有不对的地方欢迎指出来!
需求:点击btn,弹出modal显示图表(以折现图为例)
这应该是很基本的需求也是很容易实现的,代码和效果如下:
代码解释:setTem是一个方法,改变modal为true,默认为false ; chart-line是图表子组件,通过data向其传递参数,data绑定的数据是父组件mounted后拿到的数据

效果图:点击btn后的确显示了modal框,但是里面的图表不能显示,接着改变子组件任何代码,迫使重新编译子组件,则子组件的图表可以正常显示


分析:当点击btn时,modal框的确弹出来了,但推测其底层是使用v-show来实现显示与否,所以改变modal为true或fasle只是改变了样式的显示与隐藏,所以不会触发子组件的重新编译,父组件在mounted前,已经准备好了所有的视图,包括子组件的视图,只是这个时候由于modal的v-show=false,不能被观察到罢了。但是此时传给子组件的数据并没有拿到,所有子组件不能显示图表;当点击btn的时候,虽然此时父组件传给子组件的数据拿到了,但由于是通过v-show改变显示与否,子组件不会重新编译,当然不会去读取数据,就不会显示
解决办法:当点击的时候显示的促使子组件编译,给子组件套一个v-if,代码如下:

效果图:当每次点击的时候都会重新编译子组件,所以子组件在每次编译的时候都能拿到数据,自然能正常显示

总结:以上是对vue中使用iview的modal组件解决的一个小问题,推测其使用的是v-show来控制弹出层的显示与否,当子组件不是简单的显示基本信息而是要更新数据时就需要显示的促使其重新编译,否者数据无法得到更新。
vue组件中,iview的modal组件爬坑--modal的显示与否应该是使用v-show的更多相关文章
- vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题
Scoped CSS规范是Web组件产生不污染其他组件,也不被其他组件污染的CSS规范. vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素,它是通过使 ...
- 前台框架vue.js中怎样嵌入 Echarts 组件?
目前常用的图标插件有 charts, Echarts, highcharts.这次将介绍 Echarts 在 Vue 项目中的应用. 一.安装插件 使用 cnpm 安装 Echarts cnpm i ...
- 微信小程序,内容组件中兼容的H5组件
受信任的HTML节点及属性 全局支持class和style属性,不支持id属性. 节点 属性 a abbr address article aside b bdi bdo ...
- 在自定义组件中获取spring底层组件
要想在自定义组件中获取spring底层的各种组件,只需让自定义组件实现一系列接口即可,这些接口都是Aware的子接口.常见的有: 1. ApplicationContextAware——用于获取IOC ...
- 微信小程序将外部数据从父组件中传入到子组件
小程序组件开发遇到一个组件内嵌两个组件,而这两个子组件所使用的数据来自于同一个API,如下图所示. 如果这时候两个子组件各自导入同一个接口就会显得多余.另外的办法是由父组件导入接口数据,再从父组件将接 ...
- vue项目中踩过的element的坑
前言:在现在这种大的社会背景下,人们的需求更加的个性化了,而之前为了解放开发复杂的原生开发状态,现有的组件库已经远远不能满足人们高质量的需求了,这两天开发发现了一些element UI交互上的缺陷,当 ...
- unigui组件中client javascript delphi组件之间的操作
UniLabel组件: function OnClick(sender, e){ MainForm.UniLabel1.setText('Click!');} function Onmousemove ...
- vue : history模式与项目部署的爬坑
需求:url不能有#符号,且不放在服务器虚拟主机的根目录. 假设放在虚拟主机的 medicine 文件夹下. 需要改两个文件,一个是 ./config/index.js (vue设置文件) ,另一个是 ...
- vue项目中使用swiper插件遇到的坑
<style scoped> .swiper-pagination-bullets >>> .swiper-pagination-bullet-active { ...
随机推荐
- Linux时间同步+国内常用的NTP服务器地址
当Linux服务需要时间戳的时候,时间同步就显得十分重要.这里介绍下,最近我使用的一个同步命令. # ntpdate s1a.time.edu.cn 国内常用的NTP地址 210.72.145.44 ...
- [转]开源日志库<log4cplus+VS2008使用>整理
转 开源日志库<log4cplus+VS2008使用>整理 转http://pyhcx.blog.51cto.com/713166/143549 一.简介 log4cplus是C+ ...
- nginx参考资料
什么是负载均衡? 官网的入门文章中文版 love2上关注数比较高的nginx教程 什么是反向代理,什么又是正向代理? csdn上浅谈Nginx之反向代理与负载均衡 Nginx 作为 WebSocket ...
- CSS中的line-height
基本概念 行高.行距 行高是指文本行基线间的垂直距离.那什么是基线呢?记不记得vertical-align属性有个baseline值,这个baseline就是基线. 注意:倒数第二根才是基线(base ...
- Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告
[问题描述] 近日,有项目组遇到了勒索软件攻击:勒索代码隐藏在Oracle PL/SQL Dev软件中(网上下载的破解版),里面的一个文件afterconnet.sql被黑客注入了病毒代码.这个代码会 ...
- CentOS随笔 - 6.CentOS7安装Git服务器
前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 版本管理当然是选择git..反正我是被svn坑怕了... 这次安装的是git 2.18.0 点击下载 准备安装 ...
- SQL读取注册表值
最近写一个自动检查SQL Serve安全配置的检查脚本,需要查询注册表,下面是使用SQL查询注册表值的方法. ) ) ) ) --For Named instance --SET @Instance ...
- [翻译] LazyFadeInView 渐入显示text文本
LazyFadeInView 渐入显示text文本 https://github.com/itouch2/LazyFadeInView LazyFadeInView is a cool way to ...
- ZT 布列瑟农
布列瑟农 编辑 <布列瑟农>(Bressanone)是加拿大环保音乐家马修·连恩(Matthew Lien)创作并演唱的一首经典歌曲,收录在他1995年的专辑<狼>(Bleed ...
- [COGS 0407][NOIP 2009] 靶形数独
407. [NOIP2009] 靶形数独 ★★ 输入文件:sudoku.in 输出文件:sudoku.out 简单对比时间限制:5 s 内存限制:128 MB [问题描述] 小城和小华 ...