【Vue3】模板语法

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

🏆今日学习目标:模板语法

😃创作者:颜颜yan_

✨个人格言:生如芥子,心藏须弥

⏰本期期数:第三期

🎉专栏系列:Vue3


前言


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


在底层的实现上,Vue将模板编译成虚拟DOM渲染函数,结合响应性系统,Vue能够智能地计算出最少需要重新渲染多少组件,并把DOM操作次数减少到最少。


参考文档Vue3官网


声明响应式状态


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


插值


文本


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


<p>{{num}}</p>


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


<p v-once>{{uname}}</p>


如果使用{{}}插入一个HTML内容,则需要添加v-html指令,让插入的HTML内容以HTML的形式进行显示,否则会显示字符串。


注意: v-html指令后面需要添加一个string类型来进行赋值。


v-html可以识别HTML代码,如果任意使用HTML动态渲染会很容易导致XSS攻击,所以要谨慎使用噢


<p >{{name}}</p>
<p v-html="name"></p>


Attribute(属性)


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


<p v-bind:id="dynamicId">v-bind绑定</p>


使用JavaScript表达式


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


<p>{{num+1}}</p>


指令


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


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


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


d80f671be8274ea1b30645b2b7bcffda.gif

相关文章
|
4天前
|
JavaScript 前端开发
在Vue2或Vue3中项目中使用 Isotope(同位素) 过滤和排序神奇的布局神器,全网独家实现!
本文介绍了在Vue2或Vue3项目中如何使用Isotope(同位素)布局库来创建动态的网格布局,并提供了详细的代码实现和效果展示,包括过滤和排序功能。
12 0
在Vue2或Vue3中项目中使用 Isotope(同位素) 过滤和排序神奇的布局神器,全网独家实现!
|
4天前
|
前端开发 JavaScript API
基于Vue3+Hooks实现4位随机数和60秒倒计时
本文介绍了如何在Vue3中使用Hooks API来实现生成4位随机数和执行60秒倒计时的功能,并提供了详细的代码示例和运行效果展示。
22 1
基于Vue3+Hooks实现4位随机数和60秒倒计时
|
4天前
|
数据可视化 JavaScript
Vue3项目使用G6可视化组件实现一个树形机构图
在Vue 3项目中使用G6可视化组件库实现树形机构图的构建和展示。
37 1
Vue3项目使用G6可视化组件实现一个树形机构图
|
3天前
|
JavaScript 算法 API
Vue 3有哪些新特性
【8月更文挑战第16天】Vue 3有哪些新特性
20 1
|
4天前
|
JavaScript UED
如何在Vue3项目中使用防抖节流技巧
在Vue 3项目中使用防抖和节流技巧以优化组件性能,包括使用`lodash`库和自定义实现这两种方法。
9 0
如何在Vue3项目中使用防抖节流技巧
|
4天前
|
前端开发 JavaScript
基于Vue3实现鼠标按下某个元素进行拖动,实时改变左侧或右侧元素的宽度,以及点击收起或展开的功能
本文介绍了如何在Vue3项目中实现一个鼠标拖动调整元素宽度的功能,并展示了点击按钮收起或展开侧边栏的效果,提供了完整的实现代码和操作演示。
53 0
基于Vue3实现鼠标按下某个元素进行拖动,实时改变左侧或右侧元素的宽度,以及点击收起或展开的功能
|
4天前
|
JavaScript
创建 Vue3 项目
创建 Vue3 项目
10 0
|
4天前
|
JavaScript
在Vue3+ElementPlus项目中使用具有懒加载的el-tree树形控件
在Vue 3和Element Plus项目中实现具有懒加载功能的el-tree树形控件,以优化大数据量时的页面性能。
12 0
|
4天前
|
JavaScript 前端开发
在Vue3+ElementPlus项目中实现一个简单的新增/移除行记录的小组件
在Vue 3和Element Plus项目中创建一个支持新增和移除行记录的简单表格组件。
29 0
|
4天前
在Vue3项目中使用 vue3-seamless-scroll 无缝滚动插件
本文介绍了如何在Vue3项目中使用`vue3-seamless-scroll`插件实现无缝滚动效果,并提供了详细的示例代码和运行效果。
91 0