1. 引言
通过前面的章节,我们已经完成了vue
的第一个程序,有兴趣的同学可以参阅下:
- 《Vue系列教程(01)- 前端发展史》
- 《Vue系列教程(02)- Vue环境搭建、项目创建及运行》
- 《Vue系列教程(03)- Vue开发利器VsCode》
- 《Vue系列教程(04)- VsCode断点调试》
- 《Vue系列教程(05)- 基础知识快速补充(html、css、js)》
- 《Vue系列教程(06)- Vue调试神器(vue-devtools)》
- 《Vue系列教程(07)- Vue第一个程序(MVVM模式的引入)》
我们都知道,学习任何一门编程语言,都离不开 “判断” 和 “循环”,所以本文来讲解 “判断” 和 “循环” 的用法。
2. 绑定(v-bind)
v-bind的作用是用来来绑定元素特性!
代码示例:
<!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>Title</title> <!--1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <!--view层,模板--> <div id="app"> <span v-bind:title="message"> 鼠标悬停几秒钟查看此处动态绑定的提示信息! </span> </div> <script type="text/javascript"> var vm = new Vue({ el: "#app", /*Model:数据*/ data: { message: '页面加载于 ' + new Date().toLocaleString() } }); </script> </body> </html>
效果如下(可以自己动手试下):
这里的v-bind
等被称为指令。
指令带有前缀v以表示它们是
Vue
提供的特殊特性。可能你已经猜到了,它们会在渲染的DOM
上应用特殊的响应式行为在这里,该指令的意思是:“将这个元素节点的title
特性和Vue
实例的message
属性保持一致” 与{{}}
类似。
如果再次打开浏览器的JavaScript
控制台, 输入app, message=‘
新消息’,就会再一次看到这个绑定了title
特性的HTML
已经进行了更新。
3. 判断
3.1 v-if, v-else
直接上代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <!--view层,模板--> <div id="app"> <h1 v-if="type">Yes</h1> <h1 v-else>No</h1> </div> <script type="text/javascript"> var vm = new Vue({ el: "#app", /*Model:数据*/ data: { type: true } }); </script> </body> </html>
运行后,在控制台,输入vm.type=false
,内容由"true"
变为“false”
了
3.2 v-else-if
示例代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <!--view层,模板--> <div id="app"> <h1 v-if="type==='A'">A</h1> <h1 v-else-if="type==='B'">B</h1> <h1 v-else-if="type==='D'">D</h1> <h1 v-else>C</h1> </div> <script type="text/javascript"> var vm = new Vue({ el: "#app", /*Model:数据*/ data: { type: 'A' } }); </script> </body> </html>
可以看到,控制台输入不同条件,会实时显示不同的内容:
输入B | 输入F |
提示:===
三个等号在JS中表示绝对等于(就是数据与类型都要相等)
4. 循环(v-for)
示例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script> </head> <body> <!--view层,模板--> <div id="app"> <li v-for="(item,index) in items"> {{item.message}}---{{index}} </li> </div> <script type="text/javascript"> var vm = new Vue({ el: "#app", /*Model:数据*/ data: { items: [ {message: 'Java'}, {message: 'C++'}, {message: 'JavaScript'} ] } }); </script> </body> </html>
运行,可以看到,里面的内容已经循环显示出来了:
本文完!