您的位置:首页 > 汽车 > 时评 > JavaWeb——Vue(2/3):Vue常用指令(v-bind ,v-model,v-on,v-if , v-show,v-for )、案例(表格数据渲染)

JavaWeb——Vue(2/3):Vue常用指令(v-bind ,v-model,v-on,v-if , v-show,v-for )、案例(表格数据渲染)

2024/12/27 2:05:54 来源:https://blog.csdn.net/li13437542099/article/details/140636889  浏览:    关键词:JavaWeb——Vue(2/3):Vue常用指令(v-bind ,v-model,v-on,v-if , v-show,v-for )、案例(表格数据渲染)

目录

v-bind & v-model

介绍

案例(1)

v-on

介绍

案例(2)

v-if & v-show

介绍

案例(3)

v-for 

介绍

案例(4)

案例(5)

基础表结构及数据

具体实现


Vue常用指令

  • 指令:HTML 标签上带有v-前缀的特殊属性,不同指令具有不同含义。例如:v-if,v-for..
  • 常用指令
指令作用
v-bind为HTML标签绑定属性值,如设置href,css样式等
v-model在表单元素上创建双向数据绑定
v-on为HTML标签绑定事件
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else-if
v-else
v-show根据条件展示某元素,区别在于切换的是display属性的值
v-for列表渲染,遍历容器的元素或者对象的属性

v-bind & v-model

介绍

  • v-bind
<a v-bind:href="url">百度</a>
//or
<a :href="url">百度</a>
<script>new Vue({el:"#app",data:{url:"https://www.baidu.com"}})
</script>

  • v-model
<input type="text" v-model="url">

注意事项

  • 通过v-bind或者v-model绑定的变量,必须在数据模型中声明。

案例(1)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>常用指令-v-bind-v-model</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><a v-bind:href="url" target="_blank">链接1</a><a :href="url" target="_blank">链接2</a><input type="text" v-model="url"></div>
</body>
<script>//定义Vue对象new Vue({el:"#app",  //Vue接管区域data:{url:"https://www.baidu.com"}})
</script>
</html>

运行结果: 

v-on

介绍

<input type="button" value="按钮" v-on:click="handle()">
<input type="button" value="按钮" @click="handle()">
<script>new Vue({el:"#app",data:{//...},methods:{handle:function(){alert('我被点击了');}}})
</script>

案例(2)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>常用指令-v-on</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><input type="button" value="点我一下" v-on:click="handle()"></div>
</body>
<script>new Vue({el:"#app",data:{//...},methods:{handle:function(){alert('你点了我一下...');}}})
</script>
</html>

运行结果:

v-if & v-show

介绍

  •  v-if
年龄{{ age }},经判定为:
<span v-if="age <= 35">年轻人</span>
<span v-else-if="age > 35 && age < 60">中年人</span>
<span v-else>老年人</span>
  • v-show
年龄{{ age }},经判定为:
<span v-show="age <= 35">年轻人</span>

案例(3)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>常用指令-v-if-v-show</title><script src="js/vue.js"></script>
</head>
<body><div id="app">年龄&nbsp;<input type="text" v-model="age">&nbsp; 经判定,为:<span v-if="age <= 35 && age > 0">年轻人</span><span v-else-if="age > 35 && age < 60">中年人</span><span v-else>老年人</span><br><br>年龄&nbsp;<input type="text" v-model="age">&nbsp; 经判定,为:<span v-show="age <= 35 && age > 0">年轻人</span><span v-show="age > 35 && age < 60">中年人</span><span v-show="age >= 60">老年人</span></div>
</body>
<script>//定义Vue对象new Vue({el:"#app",   //Vue接管区域data:{age:10}})
</script>
</html>

运行结果: 

v-for 

介绍

  • v-for
<div v-for="addr in addrs">{{ addr }}</div>
<div v-for="(addr,index)in addrs">{{ index +1 }} : {{ addr }}</div>
data:{...addrs:['北京','上海','广州','深圳','成都','杭州']
},

案例(4)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>常用指令-v-for</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><div v-for="addr in addrs">{{ addr }}</div><hr><div v-for="(addr, index) in addrs">{{ index + 1 }} : {{ addr }}</div></div>
</body>
<script>//定义Vue对象new Vue({el:"#app",data:{addrs:['北京','上海','广州','深圳','成都','杭州']},methods:{}})
</script>
</html>

运行结果:

案例(5)

通过Vue完成表格数据的渲染展示:

基础表结构及数据

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>常用指令-案例</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><table border="1" cellspacing="0" width="60%"><tr><th>编号</th><th>姓名</th><th>年龄</th><th>性别</th><th>成绩</th><th>等级</th></tr><tr align="center"><td>1</td><td>Tom</td><td>20</td><td><span>男</span><span>女</span></td><td>70</td><td><span>优秀</span><span>及格</span><span style="color: red;">不及格</span></td></tr></table></div></body><script>new Vue({el: "#app",data: {users: [{name: "Tom",age: 20,gender: 1,score: 78},{name: "Rose",age: 18,gender: 2,score: 86},{name: "Jerry",age: 26,gender: 1,score: 90},{name: "Tony",age: 30,gender: 1,score: 52}]},methods: {},})
</script>
</html>

具体实现

最终效果:


END 


学习自:黑马程序员——JavaWeb课程

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com