Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法


Posted in Javascript onOctober 12, 2018

vue中v-if 和v-else-if在页面加载的时候,不满足条件的标签会加载然后再消失掉,如果要解决这个问题,案例如下:

vue html代码块:

<div id="divApp">  
<div v-if="type === 'A'" v-cloak>    
A  
</div>  
<div v-else-if="type === 'B'" v-cloak>    
B  
</div>  
<div v-else-if="type === 'C'" v-cloak>    
C  
</div>  
<div v-else v-cloak>    
Not A/B/C  
</div>
</div>

vue js代码块:

var divApp = new Vue({  
el: '#divApp',  
data: 
{    
isActive: true,    
hasError: false,   
type: 'A'  },  
// 在 `methods` 对象中定义方法  
methods: {  
}
}
)

css 代码:

[v-cloak] 
{ 
display:none;
}

下面看下vue学习中v-if和v-show一起使用的问题

v-if和v-show一起使用

在开发项目过程中v-ifv-show一起使用时,接下面跟着的v-else会在页面上面显示两次 。代码如下:

<tbody class="sortable" id="sortTable">
   <tr v-show="items.length" v-for="(item,index) in items" :item="item">
       <td :id="item.objectId">{{index+1}}</td>
       <td>{{item.number}}</td>
   </tr>
   <tr v-else>
       <td colspan='2'>暂无数据</td>
   </tr>
</tbody>

原因其实很简单,根据vue的文档描述:

当它们都处于同一节点时,v-for 的优先级高于 v-if。这意味着,v-if 将分别在循环中的每次迭代上运行。

 也就是v-if会判断两次。

当然这样用也有它的好处,当你只想将某些项渲染为节点时,这会非常有用,如下:(以上只渲染 todos 中未完成的项。)

<li v-for="todo in todos" v-if="!todo.isComplete">
 {{ todo }}
</li>

如果你的意图与此相反,是根据条件跳过执行循环,可以将 v-if 放置于包裹元素上(或放置于

总结

以上所述是小编给大家介绍的Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery插件原来如此简单 jQuery插件的机制及实战
Feb 07 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
Mar 18 Javascript
JavaScript实现的日期控件具体代码
Nov 18 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
jquery实现简单实用的弹出层效果代码
Oct 15 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
Jul 13 Javascript
详解vue中使用protobuf踩坑记
May 07 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
JavaScript数组常用的增删改查与其他属性详解
Oct 13 Javascript
JavaScript+HTML实现学生信息管理系统
Apr 20 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
Oct 12 #Javascript
开发用到的js封装方法(20种)
Oct 12 #Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
Oct 12 #Javascript
微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}
Oct 12 #Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 #Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 #Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
Oct 12 #Javascript
You might like
php $_SERVER当前完整url的写法
2009/11/12 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
CodeIgniter分页类pagination使用方法示例
2016/03/28 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
nodejs中实现sleep功能实例
2015/03/24 NodeJs
jQuery构造函数init参数分析续
2015/05/13 Javascript
JavaScript中的闭包
2016/02/24 Javascript
利用AJAX实现WordPress中的文章列表及评论的分页功能
2016/05/17 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
关于layui表单中按钮自动提交的解决方法
2019/09/09 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
Python内建模块struct实例详解
2018/02/02 Python
Python遍历pandas数据方法总结
2018/02/09 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
四好少年事迹材料
2014/01/12 职场文书
同学聚会主持词
2014/03/18 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
语文教研活动总结
2014/07/02 职场文书
部门2015年度工作总结
2015/04/29 职场文书
大学生团日活动总结
2015/05/06 职场文书
《观察物体》教学反思
2016/02/17 职场文书