Vue.js 中的 v-cloak 指令及使用详解


Posted in Javascript onNovember 19, 2018

先来看下vue.js 中的v-cloak 指令

Vue.js 中的 v-cloak 指令及使用详解

可以使用 v-cloak 指令设置样式,这些样式会在 Vue 实例编译结束时,从绑定的 HTML 元素上被移除。

当网络较慢,网页还在加载 Vue.js ,而导致 Vue 来不及渲染,这时页面就会显示出 Vue 源代码。我们可以使用 v-cloak 指令来解决这一问题。

html:

<div id="app">
  {{context}}
</div>

js:

<script>
  var app = new Vue({
    el: '#app',
    data: {
      context:'互联网头部玩家钟爱的健身项目'
    }
  });
</script>

效果:

Vue.js 中的 v-cloak 指令及使用详解

我们使用 v-cloak 指令来解决屏幕闪动的问题吧O(∩_∩)O~

js 不变,在 div 中加入 v-cloak 指令。

html:

<div id="app" v-cloak>
  {{context}}
</div>

css:

[v-cloak]{
  display: none;
}

使用 v-cloak 指令之后的效果( demo ):

Vue.js 中的 v-cloak 指令及使用详解

在简单项目中,使用 v-cloak 指令是解决屏幕闪动的好方法。但在大型、工程化的项目中(webpack、vue-router)只有一个空的 div 元素,元素中的内容是通过路由挂载来实现的,这时我们就不需要用到 v-cloak 指令咯。

下面看下Vue中v-cloak使用详解

这次给大家带来Vue中v-cloak使用详解,Vue中v-cloak使用的注意事项有哪些,下面就是实战案例,一起来看一下。

v-cloak 的作用和用法

用法:

这个指令保持在元素上直到关联实例结束编译。和 css 规则如[v-cloak] { display: none }一起用时,这个指令可以隐藏未编译的 Mustache 标签直到实例准备完毕。官方API{{msg}}

setTimeout(() => {
 newVue({
  el:'#app',
  data: {
   msg:'hello'
  }
 })
},2000)

v-cloak 可以解决这一问题,在 css 中加上HTML 绑定 Vue实例,在页面加载时会闪烁然后才会出现加载完成字样,为了效果更明显,我们可以延后加载 Vue 实例

[v-cloak] {
 display: none;
}

Vue1.x 与 Vue2 中 v-cloak 的不同在 html 中的加载点加上 v-cloak,就可以解决这一问题

Vue1 中,允许将 Vue 实例挂载在 body 上,而 Vue2 是不允许的,想对整个页面实例化,需要另外用一个 p 来容纳整个页面内容,对其进行实例化

这样在使用 v-cloak 时,同样需要用到这种方法

为什么我用的 v-cloak 无效?

在实际项目中,我们常通过 @import 来加载 css 文件

@import"style.css"
@import"index.css"

为了避免这种情况,我们可以将[v-cloak]写在 link 引入的 css 中,或者写一个内联 css 样式,这样就得到了解决。而 @import 是在页面 DOM 完全载入后才会进行加载,如果我们将[v-cloak]写在 @import 加载的 css 文件中,就会导致页面仍旧闪烁。

总结

以上所述是小编给大家介绍的Vue.js 中的 v-cloak 指令及使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
Apr 07 Javascript
IE浏览器不支持getElementsByClassName的解决方法
Aug 27 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
Feb 10 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
Sep 25 Javascript
JavaScript插件Tab选项卡效果
Nov 14 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
vue前后分离调起微信支付
Jul 29 Javascript
使用js获取身份证年龄的示例代码
Dec 11 Javascript
javascript遍历对象的五种方式实例代码
Oct 24 Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 #Javascript
Vue.js 中的 v-show 指令及用法详解
Nov 19 #Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 #Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 #Javascript
利用原生的JavaScript实现简单拼图游戏
Nov 18 #Javascript
Javascript实现动态时钟效果
Nov 17 #Javascript
使用Javascript简单计算器
Nov 17 #Javascript
You might like
第九节 绑定 [9]
2006/10/09 PHP
一个好用的分页函数
2006/11/16 PHP
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
python简单线程和协程学习心得(分享)
2017/06/14 Python
python交互式图形编程实例(三)
2017/11/17 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
详解rem 适配布局
2018/10/31 HTML / CSS
洗车工岗位职责
2014/03/15 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
秋季运动会开幕词
2015/01/28 职场文书
小学班主任个人总结
2015/03/03 职场文书
暂停营业通知
2015/04/25 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
Java基础之线程锁相关知识总结
2021/06/30 Java/Android