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 相关文章推荐
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
jQuery常用数据处理方法小结
Feb 20 Javascript
javascript实现一个数值加法函数
Jun 26 Javascript
学习JavaScript设计模式之享元模式
Jan 18 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
May 13 jQuery
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
微信小程序实现按字母排列选择城市功能
Nov 25 Javascript
vue实现div单选多选功能
Jul 16 Javascript
js实现全选和全不选
Jul 28 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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
收音机指标测试方法及仪器
2021/03/01 无线电
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
2009/09/05 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
thinkPHP和onethink微信支付插件分享
2019/08/11 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
node.js中的fs.lchown方法使用说明
2014/12/16 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
原生js轮播特效
2017/05/18 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python pygame实现五子棋小游戏
2020/10/26 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
售后服务科岗位职责范文
2013/11/13 职场文书
学生打架检讨书大全
2014/01/23 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
医德考评自我评价
2014/09/14 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
物流业务员岗位职责
2015/04/03 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Python进程间的通信之语法学习
2022/04/11 Python