问题:使用VUE时,页面加载瞬间,会闪现模板语法,例如{{ item.name }}等
解决办法:
1、可以通过VUE内置的指令v-cloak解决这个问题(推荐)
具体实现:
<ul v-cloak v-for="item in items">
<li>{{ item.name }}</li>
</ul>
CSS中添加
[v-cloak]{ display: none; }
在vuejs指令中有 v-cloak
,这个指令保持在元素上直到关联实力结束编译。和CSS规则如 [v-cloak]{display:none}
一起用时,这个指令可以隐藏未编译的Mustache标签直到实例准备完毕。用法如下:
[v-cloak]{display:none;
}
<div v-cloak>{{message}}</div>
这样 <div>
不会显示,直到编译结束
2、可以在需要编译的元素前后加上<template></template>
3、通过切换需要编译元素的display属性,最开始设为none,请求完数据后设为block
4、VUE前置加载