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 相关文章推荐
让div层随鼠标移动的实现代码 ie ff
Dec 18 Javascript
JQueryEasyUI Layout布局框架的使用
Apr 08 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
Dec 12 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
javascript对象的相关操作小结
May 16 Javascript
Node.js 基础教程之全局对象
Aug 06 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
原生js实现瀑布流效果
Mar 09 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
Aug 24 Javascript
微信小程序调用后台service教程详解
Nov 06 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
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
2019/04/08 PHP
showModelessDialog()使用详解
2006/09/21 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
小程序表单认证布局及验证详解
2020/06/19 Javascript
使用python Django做网页
2013/11/04 Python
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python实现队列的方法
2015/05/26 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
pygame实现弹球游戏
2020/04/14 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
作文批改评语大全
2014/04/23 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
大学生交通专业求职信
2014/09/01 职场文书
高三英语教学计划
2015/01/23 职场文书
高一数学教学反思
2016/02/18 职场文书
导游词之湖北武当山
2019/09/23 职场文书