仅在 v-for 中显示关联数据 [英] Only show associated data in v-for

查看:25
本文介绍了仅在 v-for 中显示关联数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I have the following code:

<template>
<div>
    <div v-for="title in titles">
        <h1>{{ title }}</h1>
        <a @click="showSub">Click Here</a>
        <div v-if="subshown">
            Shown
        </div>
    </div>
</div>
</template>

<script>
    export default {
        data() {
            return {
                subshown: false,
                titles: []
            }
        },
        methods: {
            showSub: function () {
                this.subshown = true;
                // do something more
            }
        }        
    }
</script>

When i now click on the Click Here Button, the associated subshown from the current title should be shown. At the moment, when i click on Click Here, all subshown are shown.

How to implement that only the associated is shown?

解决方案

Add a property called currentIndex then update it using the click event and use it in conditional rendering :

<template>
<div>
    <div v-for="(title,index) in titles">
        <h1>{{ title }}</h1>
        <a @click="showSub(index)">Click Here</a>
        <div v-if="currentIndex===index">
            Shown
        </div>
    </div>
</div>
</template>

<script>
    export default {
        data() {
            return {
                currentIndex:-1,
                titles: []
            }
        },
        methods: {
            showSub: function (index) {
              this.currentIndex=this.currentIndex===index?-1:index
                // do something more
            }
        }        
    }
</script>

这篇关于仅在 v-for 中显示关联数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆