扫码关注官方订阅号
如图,想实现点击分类、工艺显示下面的li,在jq可以使用$this,在vue2.0中该怎么实现?
走同样的路,发现不同的人生
可以直接在分类按钮上面绑定个点击事件然后给列表弄上v-if
v-if
HTML:
<p v-on:click="show=!show">分类</p> <ul v-if="show"> <li>1</li> <li>2</li> <li>3</li> </ul>
当然,show这个变量也不要忘了在dada中定义。
v-if的介绍可以看这里
回答下面的评论:
大概的思路是用两个v-for把你的大分类和分类下的列表渲染出来(还有在每个大分类下定义show变量),然后在点击事件中传入对应的i,用于改变对应的show。也可以参考楼下的,为了提高性能,可以把v-if换成v-show
v-for
show
i
v-show
<p v-for="(menu,i) in menus" @click="change(i)">{{menu.title}} <ul v-if="menu.show"> <li v-for="list in menu.lists">{{list}}</li> </ul> </p>
script:
... data: { menus: [{ title: "分类", show:false, lists: [1, 3, 4] }, { title: "工艺", show:false, lists: [1, 3, 4] }] }, methods: { change: function(i) { this.menus[i].show=!this.menus[i].show } }
用v-show会不会成本低些
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以直接在分类按钮上面绑定个点击事件然后给列表弄上
v-ifHTML:
当然,show这个变量也不要忘了在dada中定义。
v-if的介绍可以看这里回答下面的评论:
大概的思路是用两个
v-for把你的大分类和分类下的列表渲染出来(还有在每个大分类下定义show变量),然后在点击事件中传入对应的i,用于改变对应的show。也可以参考楼下的,为了提高性能,可以把v-if换成v-showHTML:
script:
用v-show会不会成本低些