欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > Vue 响应式渲染 - 条件渲染

Vue 响应式渲染 - 条件渲染

2025/2/13 1:46:58 来源:https://blog.csdn.net/json_ligege/article/details/145536824  浏览:    关键词:Vue 响应式渲染 - 条件渲染

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue响应式渲染 - 条件渲染

目录

条件渲染

v-if

v-if-else

模版template

物流状态显示判断

设置数据

不同状态渲染

总结


条件渲染

v-if

使用Vue条件判断显示和 隐藏。

示例如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="../lib/vue.js"></script>
</head>
<body><div id="box"><div v-if="isShow">显示</div><div v-if="!isShow">隐藏</div></div><script>let vm = new Vue({el:'#box',data: {isShow : true}})</script>
</body>
</html>

v-if-else

在原来的例子上使用else判断来执行原有否的情况。

示例如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="../lib/vue.js"></script>
</head>
<body><div id="box"><div v-if="isShow">显示</div><div v-else>隐藏</div></div><script>let vm = new Vue({el:'#box',data: {isShow : true}})</script>
</body>
</html>

模版template

template就是一个包装元素,不会真正创建在页面上。

示例如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="../lib/vue.js"></script>
</head>
<body><div id="box"><template v-if="isShow"><div>11111</div><div>22222</div><div>33333</div></template></div><script>let vm = new Vue({el:'#box',data: {isShow:true}})</script>
</body>
</html>

效果如下:

物流状态显示判断

设置数据

写一个静态的模拟列表数据。

示例如下:

let vm = new Vue({el:'#box',data: {isShow : true,datalist: [{title:'电脑',state:0,},{title:'笔记本',state:1,},{title:'手机',state:2,},{title:'硬盘',state:3,}]}})

 

不同状态渲染

对物流不同状态进行判断显示。

示例如下:

<div id="box"><ul><li v-for="item in datalist">{{item.title}}---<span v-if="item.state === 0">未付款</span><span v-else-if="item.state === 1">待发货</span><span v-else-if="item.state === 2">已发货</span><span v-else>已完成</span></li></ul>
</div>

效果如下:

 

总结

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue响应式渲染 - 条件渲染

版权声明:

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

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