1 v-show:根据表达值的真假,切换元素的显示和隐藏
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><!-- 三种表达方式 --><!-- 直接固定表达式的真假 --><img type="button" value="v-show" v-show="true"><!-- 将表达式的值放在data中 --><img src="xxx" v-show="isShow"> <!-- 也可以通过判断来确定真假 --><img src="xxx" v-show="age>=18"><input type="button" value="切换状态" @click="change"> </div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app=new Vue({el:"#app",data:{isShow:"true",age: 16},methods: {change:function(){this.isShow=!this.isShow}},})</script>
</body>
</html>
2 v-if:根据表达值的真假,切换元素的显示和隐藏(用法大致同v-show 不过多展示)
3 v-bind:设置元素的属性(比如src,title,class)
格式: v_bind:属性名=表达式
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><!-- 两种表达方法 --><img src="xxx" ><img v-bind:src="imgSrc" ><!-- 存在一种简化写法 --><img :src="imgSrc"> //更常用<br><img :src="imgSrc" :title="imgTitle+'!'"> //可以字符串拼接</div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app=new Vue({el:"#app",data:{imgSrc:"xxx",imgTitle:"你好呀"},methods: {},})</script>
</body>
</html>
4 v-for:根据数据生成列表结构
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><input type="button" value="添加数据" @click="add"><input type="button" value="减少数据" @click="remove"><ul><li v-for="item in arr">{{item}}</li><li v-for="item in vegetables">{{item.name}} </li></ul></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app=new Vue({el:"#app",data:{arr:[1,2,3,4,5],vegetables:[{name:"西兰花炒蛋"},{name:"西红柿炒蛋"}]},methods: {add:function(){this.vegetables.push({name:"胡萝卜炒蛋"});},remove:function(){this.vegetables.shift();}},})</script>
</body>
</html>
5 v-model:获取和设置表单元素的值(双向数据绑定) 通常用于文本内容
绑定后 无论是改变v-model中的值 还是data中的整体的数值都会发生相同的变化
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><input type="text" v-model="message"><!-- h2标签中的值也同步跟着变化 --><h2>{{message}} </h2></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app=new Vue({el:"#app",data:{message:"你好"},methods: {},})</script>
</body>
</html>