2.Vue的基本语法
1.判断if
html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <h1 v-if="ok">Yes</h1> <h1 v-else>No</h1> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm=new Vue({ el:"#app", data:{ ok: true } }); </script> </body> </html>
页面动态 修改为no后的结果

2.else if
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <h1 v-if="type==='A'">A</h1> <h1 v-else-if="type==='B'">B</h1> <h1 v-else>C</h1> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { type: 'A' } }); </script> </body> </html>
3.for循环
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <li v-for="item in items"> {{item.message}} </li> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { items: [ {message: '1'}, {message: '2'}, {message: '3'}, ] } }); </script> </body> </html>
4.绑定事件鼠标单击显示嘻嘻
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <button v-on:click="sayHi">click me</button> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { message: "嘻嘻" }, methods:{//方法必须定义在Vue的method对象中 sayHi: function(){ alert(this.message); } } }); </script> </body> </html>
5.双向绑定


在视图上改变数据的时候,视图随之变化
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> 输入的文本:<input type="text" v-model="message">{{message}} </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { message: "嘻嘻" } }); </script> </body> </html>

选择男女动态显示选中了谁
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> 性别: <input type="radio" name="sex" value="男" v-model="wu"> 男 <input type="radio" name="sex" value="女" v-model="wu"> 女 <p> 选中了谁:{{wu}} </p> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { wu: '' } }); </script> </body> </html>

下拉框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <select v-model="selected"> <option value="" disabled>--请选择--</option> <option>--A--</option> <option>--B--</option> <option>--C--</option> </select> <span>value:{{selected}}</span> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> var vm = new Vue({ el: "#app", data: { selected: '' } }); </script> </body> </html>
6.模板组件的使用

使用一个模板
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <hello></hello> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> //定义一个Vue组件 Vue.component("hello",{ template: '<li>Hello</li>' }) var vm = new Vue({ el: "#app" }); </script> </body> </html>

绑定组件与信息达到遍历的效果
可以这么理解props是一个形参,用来接受items中的变量,template用来取形参中的值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--view层--> <div id="app"> <!--使用v-bind去绑定wu和item达到遍历的效果--> <hello v-for="item in items" v-bind:wu="item"></hello> </div> <!-- 1.导入Vue.js--> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <script> //定义一个Vue组件 Vue.component("hello", { //用于和app绑定 props: ['wu'], //值从props里面取得 template: '<li>{{wu}}</li>' }) var vm = new Vue({ el: "#app", data:{ items: ["Java","Linux","前端"] } }); </script> </body> </html>

浙公网安备 33010602011771号