VUE模板语法指令核心语法

[复制链接]
发表于 前天 10:00 | 显示全部楼层 |阅读模式

指令 (Directives) 是带有v-前缀的特殊属性。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM。

1.v-cloak

v-cloak指令设置样式,这些样式会在Vue实例编译结束时,从绑定的HTML元素上被移除。

当网络较慢,网页还在加载Vue.js ,而导致Vue来不及渲染,这时页面就会显示出 Vue 源代码。直到Vue.js文件加载完毕,模板编译后才会被替换为数据对象中的内容。在这个过程中,页面会有出现闪烁状况,用户体验相当不好,这时用v-cloak就可以解决。

注意:如果是CDN引入Vue.js使用v-cloak解决页面闪烁问题是非常有效的。但是在实际开发中都是用NPM安装,模块化方式开发,内容都是由路由去挂载不同的组件来完成,就没有必要使用v-cloak了。
使用方式

image.png

2.v-text

v-text指令用于更新元素的文本内容。解析不了html语法,

<span v-text="url"></span><br/>

image.png

image.png

3.v-html

v-html指令用于在元素中插入html片段,相当于innerHTML,该指令存在安全漏洞,因此在本地代码中可以使用,如果要调用第三方的代码中包含该指令,则存在安全隐患。一般用于新闻详情和商品详情页面的内容输出。

4.v-once

v-once指令可以让元素或组件只渲染一次,使用了此指令的元素/组件及其所有的子节点都会当作静态内容并跳过,这可以用于优化更新性能。
赋值一次后不再改变

image.png

image.png

5.v-pre

v-pre指令用于跳过这个元素和它子元素的编译过程。可以用来显示原始Mustache标签,对于大量没有指令的节点会加快编译速度。

image.png

image.png

6.v-bind

v-bind指令可以动态地绑定一个或多个HTML元素的属性,或一个组件prop到表达式。v-bind也支持缩写用”:”冒号表示。v-bind也支持动态属性名格式::[attrhref]
三种使用方式
作为属性名时必需是小写

注入属性值

image.png

注入属性名

image.png

拼接字符串

image.png

v-if

v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 true 的时候被渲染。配合v-else 指令来表示 v-if 的“else 块”。配合v-else-if,充当 v-if 的“else-if 块”,可以连续使用。

v-if加key值的作用:Vue在渲染元素时,会尽可能地复用已有的元素而非重新渲染,这么做会使Vue渲染效率变得非常高。但是在开发中会出现我们不想要的结果,比如:在输入框中输入一下内容,单击切换按钮,会发现之前输入的内容被保留了下来,用key就可以解决这个问题。

v-if=false 是把dom元素给 删除了

image.png

image.png
最好是用template定义

image.png
v-else用法 与v-if必须是同级且相连

image.png

templage标签和div标签的作用一样,但生成html中没有div标签

本帖子中包含更多资源

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

×

GMT+8, 2025-4-21 03:49 , Processed in 0.070654 second(s), 36 queries Archiver|手机版|小黑屋|Attic ( 京ICP备2020048627号 )

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