【Vue3】模板语法

2023-03-28 16:29:08 浏览数 (1)

文章目录

  • 前言
  • 声明响应式状态
  • 插值
    • 文本
    • Attribute(属性)
    • 使用JavaScript表达式
  • 指令
  • 总结

前言

Vue.js使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层组件实例的数据。所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析。 在底层的实现上,Vue将模板编译成虚拟DOM渲染函数,结合响应性系统,Vue能够智能地计算出最少需要重新渲染多少组件,并把DOM操作次数减少到最少。 参考文档:Vue3官网


声明响应式状态

选用选项式 API 时,会用 data 选项来声明组件的响应式状态。此选项的值应为返回一个对象的函数。Vue 将在创建新组件实例的时候调用此函数,并将函数返回的对象用响应式系统进行包装。此对象的所有顶层属性都会被代理到组件实例 (即方法和生命周期钩子中的 this) 上。

插值

文本

数据绑定最常见的形式就是使用Mustache(双大括号)语法的文本插值,Mustache标签会自动替代为对应组件实例中的属性。

代码语言:javascript复制
<p>{{num}}</p>

也可以使用v-once进行一次性插值,当数据改变时,插值处的数据不会更新,也就是一次性渲染。

代码语言:javascript复制
<p v-once>{{uname}}</p>

如果使用{{}}插入一个HTML内容,则需要添加v-html指令,让插入的HTML内容以HTML的形式进行显示,否则会显示字符串。 注意: v-html指令后面需要添加一个string类型来进行赋值。 v-html可以识别HTML代码,如果任意使用HTML动态渲染会很容易导致XSS攻击,所以要谨慎使用噢

代码语言:javascript复制
<p >{{name}}</p>
<p v-html="name"></p>

Attribute(属性)

Mustache语法不能在HTML的属性中使用,但是可以使用v-bind指令,v-bind指令用来动态绑定属性的内容。如果绑定的值是null或undefined,那么该属性将不会被包含在渲染的元素上。

代码语言:javascript复制
<p v-bind:id="dynamicId">v-bind绑定</p>

使用JavaScript表达式

对于所有的数据绑定,Vue.js都提供了完全的JavaScript表达式支持。

代码语言:javascript复制
<p>{{num 1}}</p>

指令

指令是带有v-前缀的特殊属性,指令属性的值预期是单个JavaScript表达式。当表达式的值发生改变时,将其产生的连带影响,响应式地作用于DOM。如下是几个常用指令。

  • v-on:用于监听DOM事件。
  • v-if:条件渲染指令。
  • v-show:隐藏节点。
  • v-for:列表渲染指令。

总结

以上就是今天的学习内容啦~ 如果有兴趣的话可以订阅专栏,持续更新呢~ 咱们下期再见~

0 人点赞