【vue入门手册】二、vue 模板语法与内置指令

简介: 【vue入门手册】二、vue 模板语法与内置指令

模板语法

vue.js 模板语法用于展示数据的一种语法,通过一些特殊的“ 魔法符合 ” 将 vue 实例中数据绑定到 HTML模板中,从而实现数据动态刷新效果。

Vue模板语法有以下三种:

  1. 插值语法:用双括号将Vue实例中的数据属性绑定到HTML模板中,例如{{ message }},其中message为实例中的一个数据属性。
  2. 指令语法:用v-前缀的特殊HTML属性,将Vue实例中的数据属性或表达式绑定到HTML模板中,例如v-ifv-forv-bindv-on
  3. 缩写语法:Vue提供了许多简化语法的缩写,例如:href代替v-bind:href@click代替v-on:click等等。

插值语法

文本

数据绑定通过 {{ }} 双大括号的形式插值,当 vue 实例中的数据变化时,会更新插值处的内容。

<span>Message: {{ msg }}</span>

原始HTML

双大括号 {{}} 仅限于数据解析为普通文本,如需插入 HTML 模板内容,需要使用 v-html 内置指令

<p>Using v-html directive: <span v-html="rawHtml"></span></p>

JavaScript 表达式

Vue.js表达式支持JavaScript中的大部分表达式,例如算术运算、三元运算、函数调用等等。

以下是一些Vue.js表达式的应用案例:

  • 算术运算:你可以在Vue.js模板中使用算术运算符实现简单的数值计算,如加、减、乘、除、取模等操作。例如:


<span> {{ num1 + num2 }} </span>


  • 三元运算:三元运算可以根据条件返回不同的值,你可以在Vue.js模板中使用三元运算符实现类似的逻辑判断。例如:


<div>{{ isTrue ? '真' : '假' }}</div>


  • 函数调用:你可以在Vue.js模板中直接调用Vue实例中的方法,传递参数并获取结果。例如:
<div>{{ getFullName(firstName, lastName) }}</div>

需要注意的是,在Vue.js表达式中,不能使用流程控制语句,如if、for、while等,也不能使用赋值语句,如+=、-=等,否则会导致编译错误。同时,Vue.js表达式的性能也有一定的限制,在模板中过多使用复杂的表达式可能会导致性能下降,因此需要谨慎处理。


内置指令


什么是指令 ?

Vue指令,是一个前缀为 "v-" 的魔法符合,轻松实现一些在html中难以实现的效果,本质是在vue实例中执行某个表达式

咱们来看看 vue 中由那些内置的魔法指令


v-model


v-model是Vue.js中一种双向数据绑定的语法糖,可以将表单元素与Vue实例中的数据进行绑定,实现数据的实时更新,比如input、textarea、select等表单元素。在Vue.js中,v-model可以与各种表单元素结合使用,以达到实时更新数据和表单元素的效果。

例如:

<input type="text" v-model="inputVal">

以实现实时更新input框中的数据和Vue实例中的inputVal值。


v-bind:


v-bind用于将Vue实例中的数据同步到HTML标签的属性上,实现数据与元素的单向绑定,可以给任意html属性绑定值,并且可以使用Vue.js表达式实现动态绑定。例如:

<img v-bind:src="imgUrl">

以实现将Vue实例属性中的imgUrl值动态更新到<img>标签的src属性上。

v-on:


v-on用于绑定html元素的各种事件,如点击、鼠标移入、键盘按下等,可以使用Vue实例中的方法绑定到相应的事件上,实现响应用户交互的效果。例如:

<button v-on:click="doSomething">点击我</button>

以实现在按钮被点击时触发Vue实例中的doSomething方法。

v-for:

v-for用于渲染列表,在Vue.js中可以使用v-for对Vue实例中的数组或对象进行遍历。使用v-for时需要为每一项设置一个唯一的key值,以便Vue.js高效地更新列表渲染。例如:

<ul>
  <li v-for="(item, index) in itemList" :key="index">{{item}}</li>
  </ul>

v-if:

v-if用于根据Vue实例中的条件动态渲染HTML标签,只有当Vue实例中的条件满足时,才会渲染该标签。例如:

<div v-if="isShow">如果isShow为true,我就显示</div>

v-show:

v-show与v-if类似,用于控制HTML标签的显示和隐藏,但它在DOM中只是将元素的display CSS属性设置为none,而不是从DOM树中删除它,效率相对较高。例如:

<div v-show="isShow">如果isShow为true,我就显示,如果为false,我就隐藏</div>

v-html:

v-html用于将Vue实例中的HTML字符串插入到HTML标签中,实现动态生成html元素的效果。例如:

<div v-html="htmlContent"></div>

v-text:


v-text用于将Vue实例中的值插入到HTML标签中,实现动态生成文本的效果。v-text和{{}}等价,但他们的编译机制不同,下面是实现其对textarea的赋值:

<textarea v-text="message"></textarea>



相关文章
|
17天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
3月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
3月前
|
JavaScript API 开发者
十分钟 带你强势入门 vue3
十分钟 带你强势入门 vue3
69 1
|
3月前
|
JavaScript 前端开发 C#
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
162 0
|
JavaScript UED 前端开发
Vue1.0常用语法
var vm = new Vue({   el: "选择器", 挂载到页面的那个元素里,即确定vue的作用范围 外部可通过vm.$el访问,得到的是一个原生dom元素,可进行对应操作   a: '', //自定义属性 外部可通过vm.$options访问   data: {
3583 0
|
7天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
51 1
|
2月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
48 1
vue学习第一章
|
2月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
34 1
|
2月前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
41 1
vue学习第四章

热门文章

最新文章