javascript - vue2.0怎么实现点击头部显示当前盒子
怪我咯
怪我咯 2017-04-11 11:46:33
[JavaScript讨论组]

如图,想实现点击分类、工艺显示下面的li,在jq可以使用$this,在vue2.0中该怎么实现?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
天蓬老师

可以直接在分类按钮上面绑定个点击事件然后给列表弄上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

HTML:

<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中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号