标题没错,就是几个不常用指令,T_T,先来说一下什么是指令,vue的指令是指以 v- 为前缀,具有特殊含义、拥有特殊功能的特性,可以直接使用data中的数据

1.v-pre

v-pre的作用是跳过这个元素和它的子元素的编译过程。可以用来显示原始的Mustache(插值表达式)标签,跳过大量没有指令的节点会加快编译

<div id="app"><div>{{ name }}</div><div v-pre>{{ age }}</div>
</div>
const vm = new Vue({el: '#app',data:{name: 'jwh',age: 18}
});

【结果】

2.v-cloak

v-cloak 指令保持在元素上直到关联实例结束编译,与 css 的 display 属性结合使用可以解决闪烁问题,即隐藏未编译的 mustache 标签,直到实例准备完毕。

闪烁问题:对于这个问题由于JavaScript去操作DOM,都会等待DOM加载完成(DOM ready)。对于vuejs、angularjs这些会在DOM ready完会才回去解析html view Template,所以对于Chrome这类快速的浏览器你会看见有闪烁的情况出现。(这里引用了马优晨的博文,原文点击这里),下图就是页面闪烁的过程

v-cloak解决的代码如下

[v-cloak] {display: none;
}
<div id="app"><div v-cloak>{{ name }}</div>
</div>
const vm = new Vue({el: '#app',data: {name: 'jwh',}
});

【结果】

3.v-once

v-once可以使元素只渲染一次,随后的重新渲染,元素及其所以子节点将被视为静态内容并跳过。这可以用于优化性能。

<div id="app"><div v-once><div>{{ name }}</div><div>{{ age }}</div></div>
</div>
const vm = new Vue({el: '#app',data: {name: 'jwh',age: 18}
});

【结果】可以看到修改name值后,该元素并没有重新渲染

4.v-text

v-text 的作用是更新textContent,与 {{ }} 不同的是,v-text 替换元素中所有的文本,而 mustache 只替换自己,不清空元素内容,举个栗子

<div id="app"><div>my name is {{ name }}</div><!-- 以上代码渲染为 my name is jwh --><div v-text='name'>my name is </div><!-- 以上代码渲染为 jwh -->
</div>
const vm = new Vue({el: '#app',data:{name: 'jwh',}
});

【结果】

【注】v-text的优先级高于 {{ }}

textContent 与innerText 比较

  1. 设置文本替换时,两者都会把指定节点下的所有子节点也一并替换掉
  2. textContent 会获取所有元素的内容,包括 <script> 和 <style> 元素,而 innerText 不会
  3. innerText 受 css 样式的影响,并且不会返回隐藏元素的文本,而 textContent 会
  4. 由于 innerText 受 css 样式影响,它会触发重排(reflow),但 textContent 不会
  5. innerText 不是标准制定出来的 API,而是 IE 引入的,所以对 IE 支持更友好;textContent 虽然作为标准方法但是只支持 IE8+ 以上的浏览器,在最新的浏览器中,两个都可以使用
  6. 综上,Vue 这里使用 textContent 是从性能的角度考虑的

5.v-html

v-html 的作用是更新元素的 innerHTML

【注】内容按普通 HTML 插入,不会作为 Vue 模板进入编译,在网站上动态渲染任意 HTML 是非常威胁的,因为容易导致XSS攻击。只在可信内容上使用 v-html,永不用在用户提交的内容上,举个栗子

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body><input type="text" /><button>点击</button><div id="app"><div v-html="msg"></div></div>
</body>
<script>const vm = new Vue({el: '#app',data: {msg: 'hellow beauty'}});const oInput = document.getElementsByTagName('input')[0];const oButton = document.getElementsByTagName('button')[0];let msg = null;oButton.onclick = function () {vm.msg = oInput.value}
</script>
</html>

【结果】当我们在输入框输入一个input标签时,div中会出现一个输入框,我们是不希望发生这种情况的

VUE指令篇_不常用指令相关推荐

  1. vue基础--模板语法、常用指令:v-if、v-show、v-for、虚拟DOM、v-once、v-cloak、v-text、v-html、v-bind、v-on、自定义指令

    一.模板语法 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 ...

  2. cmd指令大全指令_汇编语言常用指令大全

    MOV 指令为双操作数指令,两个操作数中必须有一个是寄存器. MOV DST , SRC // Byte / Word 执行操作: dst = src 1.目的数可以是通用寄存器, 存储单元和段寄存器 ...

  3. cmp 字节 汇编_汇编 常用指令 cmp jmp call ret

    cmp 指令 功能相当于减法指令 只是不保存结果 不过cmp执行后会影响标志位 其它指令 通过识别标志位 来得知比较的结果 CPU在执行cmp指令时 像add sub指令一样 也包含两种含义 (有符号 ...

  4. 计算机编程常用指令,加工中心几个常用指令的编程技巧

    1.M00.M01.M02和M30的区别与联系 学生在初学加工中心编程时,对以上几个M代码容易混淆,主要原因是学生对加工中心加工缺乏认识,加上个别教材叙述不详细.它们的区别与联系如下: M00为程序暂 ...

  5. vue学习篇--02内置指令 计算属性 侦听属性

    文章目录 18个指令 v-text v-html: v-show: v-if: v-for: 可以遍历数组 对象 数字 字符串 v-bind: 解析属性:title src href type alt ...

  6. 中考考试的指令广播_中考广播指令

    日期 时间 广播内容 8:30 1.现在,请同学们进入考场对号入座,并将随身携带的书 本和非考试用品统一放在"物品摆放处".若带有手机等无线 通讯工具进入考点的必须关机放在物品摆放 ...

  7. Vue属性篇_侦听器watch

    作用:侦听属性,响应数据(data&computed)的变化,当数据变化时,会立即执行对应函数,其属性值可以为函数.字符串.对象和数组. 1.属性值类型 (1)函数类型 函数类型中,被侦听的数 ...

  8. adprw指令教程_三菱adprw指令图文详解

    技术文档 主体内容:可以认为是页面最想表达的内容总和.对于内容详情页来说,主体内容指从标题开始至正文内容结束,翻页区域也被视为主体内容,文章后的评论.分享.推荐等不视为主体内容. 首屏:用户点击搜索结 ...

  9. Linux命令集(Linux常用命令集--CD指令篇)

    Linux命令集(Linux常用命令--CD指令篇) Linux常用命令集(CD指令篇) 1.CD(change directory) Linux常用命令集(CD指令篇) 如下为笔者总结出在linux ...

最新文章

  1. DM368启动串口打印分析
  2. ECharts学习总结(五):echarts的Option概览
  3. 利用SIFT和RANSAC算法(openCV框架)实现物体的检测与定位,并求出变换矩阵(findFundamentalMat和findHomography的比较)
  4. 【三国志战略版】拆解与分析
  5. why Material request downlaod get an empty BDOC in SMW01 - structure MGV_TLMNR
  6. Asp.NET Core 一个接口的多个实现如何通过 DI 注册?
  7. mft按钮设计_火力发电厂典型MFT逻辑控制实现.pdf
  8. python培训来袭_从入门到精通!2020年Python最佳学习路线重磅来袭!
  9. 谷歌返华或联手腾讯;华为否认5G专利收费;滴滴外挂让车费翻倍 | 极客头条...
  10. 帝国cms index.php?id=调不到指定文章,帝国cms修改实现TAG标签以TAGID的方式伪静态...
  11. 【路径规划】基于matlab A_star算法求解机器人栅格地图最短路径规划问题【含Matlab源码 1388期】
  12. CCF-A类+B类+C类(2019)
  13. 北航计算机专业最低分,北京航空航天大学2020年本科录取线发布,最低分572
  14. 七夕送什么蓝牙耳机,经济实惠的蓝牙耳机盘点
  15. 关于 “Ubuntu 18.04.2 LTS _Bionic Beaver_ - Release amd64 (20190210)” 的盘片插入驱动器“/cdrom/”再按「回车」键 的解决问题
  16. 数据库(MYSQL)之元数据
  17. GitHub好玩的项目之你想要的样子 我都有
  18. Python办公自动化,合并excel+pdf转word等
  19. Keystone简介
  20. 随手拍好片如何炼成?用完小米10至尊纪念版我就明白了

热门文章

  1. Windows I/O模型、同步/异步、阻塞/非阻塞
  2. 抖音直播间弹幕protocbuf分析
  3. 平均 3000-20000 块不等,有空接外包私活的入群!
  4. ​冲刺最后一公里——音视频场景下的边缘计算实践
  5. 【公开课预告】:超低延迟下的实时合唱体验升级
  6. 【线上分享】华为云视频的Cloud Native实践
  7. 学习方法之02掌握记忆方法,在学习上就赢了一半
  8. 认识 MySQL 和 Redis 的数据一致性问题
  9. 如何有效地进行代码 Review?
  10. 【内核模块auth_rpcgss】netns引用计数泄露导致容器弹性网卡残留