鱼C论坛

 找回密码
 立即注册
查看: 1241|回复: 4

[庖丁解牛] 012 V v-cloak & v-once

[复制链接]
发表于 2018-9-10 15:17:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

                               
登录/注册后可看大图


上一讲我们搞定了绑定内联样式,本次来学习两个基本指令

v-cloak不需要表达式,会在Vue实例结束编译时从绑定的HTML元素上移除。

用来解决初始化慢导致页面闪动的问题。

经常和display:none配合使用。

创建div:
<div id="myApp" v-cloak>
    {{message}}
</div>

创建Vue实例:
<script>
    var app = new Vue({
        el:"#myApp",
        data:{
            message:"我爱鱼C"
        }
    })
</script>

这时虽然已经添加了v-cloak指令,但是没有任何效果。

网速很慢,Vue.js文件没有被加载时,会显示message的内容:
Snip20180910_298.png


直到Vue创建实例、编译模板时,DOM才会被替换。

所以这个屏幕会有闪动,只需要加一句CSS即可:
<style>
        [v-cloak]{
            display: none;
        }
    </style>

对于简单的项目很实用,但是在具有工程级别的中(webpack,路由...),项目的HTML结构中只有一个空的div元素。

剩下的内容都是由路由去挂载不同的组建来完成,v-cloak就不再适合了。




v-once

v-once也是一个不需要表达式的指令,用来定义元素或组件只渲染一次

包括元素或组件的所有子节点。

首次渲染后,不再随数据的变化而重新渲染,简称静态内容

创建div:
<div id="myApp">
    <span v-once>{{message}}</span>
</div>

Vue实例不变,v-once用的很少,往往在需要进一步优化性能时,才会用到。




课后作业


1、v-cloak用来解决什么问题?

2、v-once用来定义渲染多次组件?(T/F)

3、什么是静态内容?



答案:
游客,如果您要查看本帖隐藏内容请回复





如果有收获,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢Vue,请订阅 专辑传送门)(不喜欢更要订阅



                               
登录/注册后可看大图

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-8 17:37:43 | 显示全部楼层
1.解决初始化慢导致的页面闪动的问题
2.F
3.静态内容即初次渲染后,不随数据变化而重新渲染
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-5 13:35:50 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-20 13:21:49 | 显示全部楼层
0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 20:32:31 | 显示全部楼层
1.初始化慢导致页面闪动的问题
2.F
3.一次渲染后就不再渲染的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-1 19:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表