首页 > 其他分享 >vue(vue.js)—内置指令v-cloak、v-once、v-pre

vue(vue.js)—内置指令v-cloak、v-once、v-pre

时间:2024-10-20 20:23:28浏览次数:1  
标签:pre vue name cloak js once

原文链接:vue(vue.js)—内置指令v-cloak、v-once、v-pre – 每天进步一点点

1.v-cloak

情景:请求服务器资源的时候,服务器资源有可能延时响应,这时候,vue无法加载一些数据,比如下面这种情况,

 <div id="root">
      <div>你好,{{name}}<div>
 </div>

如果平常情况,这个是可以渲染数据的,但是如果从服务器上请求资源延迟响应,但是html还是要渲染,那么页面上只能渲染成下面这样:

这样让用户看到了。。。。

解决这个问题的办法一般有两个,第一个是给name赋初值,然后等请求的数据来了,再替换掉。

第二个就是今天要简单介绍的v-cloak。它的作用就是用来解决浏览器在加载页面时因存在事件差而产生的闪动问题,她的原理是先隐藏文件挂载位置,处理渲染好后在显示最终结果。而且这个一般配合css来使用。

比如下面这样写法:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>vue测试</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script> <style> [v-cloak]{ display: none; } </style> </head> <body> <div id="root"> <h3 v-cloak> 你好,{{name}}</h3> </div> <script type="text/javascript"> new Vue({ el: '#root', }) </script> </body> </html>
2.v-once

作用比较单一,加在标签上可以保留原始值不变,比如数组之类的。参考代码:

<!DOCTYPE html> <html lang="en">   <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>vue测试</title> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>   </head>   <body>   <div id="root"> <h3 v-once>初始化的n:{{n}}</h3> <h3>变化后的n:{{n}}</h3> <button @click="n++"> 点我n+1</button> </div> <script type="text/javascript"> new Vue({ el: '#root', data:{ n:1, } }) </script> </body>   </html>

效果:

可以看出,标签上加上这个v-once后, 标签里的值就保持原始值不变,其他的地方可以改变。

3.v-pre

v-pre指令就不解析插值语法这些,写的什么样,显示的就是什么样,比如上面的代码,我们加上v-pre后

  <div id="root">
         <h3 v-pre>初始化的n:{{n}}</h3>
         <h3 v-pre>变化后的n:{{n}}</h3>
         <button v-pre @click="n++"> 点我n+1</button>
    </div>

那么页面最终显示出来就是

 

标签:pre,vue,name,cloak,js,once
From: https://www.cnblogs.com/longkui-site/p/18487806

相关文章

  • vue3 深度响应式是否正常测试,以select options作为例子测试,select options后赋值是否
    <template><divclass='box'><templatev-for="(ditem,dindex)indata1":key="dindex"><el-selectv-model="ditem.value"clearablefilterable><el-optionv-for="ite......
  • vue(vue.js)—自定义指令
    原文链接:vue(vue.js)—自定义指令–每天进步一点点vue中的自定义指令就是把原生的dom一些操作进行封装。1.函数形式需求:我们定义一个v-mult指令,和v-text类似,但是会将绑定的值翻倍。在vue中,用directives自定义函数,比如下面这样:<!DOCTYPEhtml><htmllang="en"> <......
  • 基于node.js+vue基于Android的儿童成长管理APP(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着信息技术的飞速发展,移动应用在各个领域得到了广泛的应用。关于儿童成长管理方面的研究,现有研究主要以传统的纸质记录或单一功能的软件为主,专门针对......
  • 基于node.js+vue基于Android的早教机构服务系统设计与实现(开题+程序+论文)计算机毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着社会发展,早教越来越受到重视。在国内外,关于早教机构管理与服务方面已有诸多研究。国外早教机构在服务系统的信息化建设方面较为先进,多注重借助现代......
  • springboot+vue鞍师考研交流网站【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着高等教育的普及和就业竞争的加剧,越来越多的本科生选择继续深造,考研成为了他们提升学历、增强竞争力的重要途径。鞍山师范学院作为一所知名的教育机构,每年都有大量的学生投入到考研大军中。然而,考研过程中的信息获取、资料查找、经......
  • 【毕业设计】基于SpringBoot + Vue的工资信息管理系统
    一、项目背景随着信息技术的飞速发展,传统的工资管理方式已经无法满足现代企业对数据安全、效率和信息处理能力的需求。为了提高工资信息管理的效率和准确性,开发一套工资信息管理系统显得尤为重要。该系统通过信息化手段,能够有效管理员工工资、津贴、考勤记录等信息,为企业管理......
  • springboot+vue奥迪汽车信贷系统 【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着全球汽车市场的蓬勃发展,汽车信贷作为一种重要的金融工具,极大地促进了汽车销售与消费。奥迪汽车作为国际知名的豪华汽车品牌,其市场占有率和消费者群体日益扩大。在竞争激烈的市场环境中,提供高效、便捷的汽车信贷服务成为奥迪汽车吸......
  • springboot+vue案款发放管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景在当今社会,随着法治建设的不断推进和法律服务的日益完善,各类司法案件数量急剧增长,案款管理成为了司法机关和相关机构面临的一大挑战。传统的案款管理方式往往依赖于人工操作和纸质记录,不仅效率低下,还容易出错,难以保证案款的准确、及时......
  • 【附源码】景区旅游网站系统(源码+数据库+论文+ppt一整套齐全),java开发springboot框架
    ......
  • springboot+vue安卓实训教学管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分。在教育领域,安卓平台因其广泛的用户基础和强大的应用开发能力,成为构建实训教学管理系统的理想选择。传统的实训教学管理方式往往依赖于纸质记录或PC端软件......