持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
指令
v-test指令:
- 作用:向其所在的节点中渲染文本内容
- 与插值语法的区别:v-test会替换掉节点中的内容,{{xx}}不会,而是会默认做拼接
v-html指令:
- 作用:向指定节点中渲染包括html结构的内容
- 与插值语法的区别:
- v-html会替换掉节点中所有的内容,{{xx}}不会
- v-html可以识别html内容
- 注意
- 在网站上主动渲染任意HTML是非常危险的,容易导致XSS攻击
- 一定要在可信的内容上使用v-html,不要用在用户提交信息的内容上!
v-clock指令
- 本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-clock属性
- 使用css配合v-clock可以解决因网速慢的页面展示渲染不及时的问题
v-once指令
- v-once所在节点在初次动态渲染后,就视为静态内容
- 亿欧数据的改变不会引起v-once所在结构的更新,可以用于优化性能
v-pre指令
- 跳过其所在节点的编译过程
- 可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译
自定义指令总结
一、定义语法:
-
局部指令:
new Vue ({ directives:{指令名:配置对象} }) 或 new Vue ({ directives:{指令名:回调函数} })
-
全局指令:
Vue.directive:{指令名,配置对象} 或 Vue.directive:{指令名,回调函数}
二、配置对象常用的三个回调
- .bind :指令与元素成功绑定时调用
- .inserted :指令所在元素被插入页面时调用
- .update : 指令所在模板结构被重新解析时调用
三、备注:
- 指令定义时不加v-,但使用时要加v-
- 指令名如果是多个单词,要使用kebab-case命名方式,不要用camelCase命名