【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>



相关文章
|
1月前
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
2月前
|
存储 JavaScript 前端开发
前端开发:Vue.js入门与实战
【10月更文挑战第9天】前端开发:Vue.js入门与实战
|
2月前
|
JavaScript API 开发者
十分钟 带你强势入门 vue3
十分钟 带你强势入门 vue3
63 1
|
2月前
|
JavaScript
vue3完整教程从入门到精通(新人必学2,搭建项目)
本文介绍了如何在Vue 3项目中安装并验证Element Plus UI框架,包括使用npm安装Element Plus、在main.js中引入并使用该框架,以及在App.vue中添加一个按钮组件来测试Element Plus是否成功安装。
78 0
vue3完整教程从入门到精通(新人必学2,搭建项目)
|
2月前
|
JavaScript Java CDN
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
本文提供了Vue 3从入门到精通的完整教程,涵盖了创建Vue应用、通过CDN使用Vue、定义网站以及使用ES模块构建版本的步骤和示例代码。
180 0
vue3完整教程从入门到精通(新人必学1,vue3快速上手)
|
2月前
|
JavaScript 前端开发 C#
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
|
11天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
27 1
vue学习第四章
|
11天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
23 1
vue学习第九章(v-model)
|
11天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
24 1
vue学习第十章(组件开发)
|
17天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。