javascript - Vue 点击添加class类名的问题
PHP中文网
PHP中文网 2017-04-11 11:32:33
[JavaScript讨论组]

代码:

        .prop-val {
            display: inline-block;
            font-size: .12rem;
            cursor: pointer;
            border: 1px solid #ed145b;
            padding: .02rem .05rem;
            color: #ed145b;
            margin: .05rem;
        }
        .on-choose {
            color: #fff;
            background-color: #ed145b;
        }


    


        new Vue({
            el: '#myapp',
            data: {
                select: true,
                numControl:{
                    num: 1,
                    maxLimit: 10,
                    minLimit: 1,
                    saleOff: false
                },
                prop_group: [
                  {
                    group_id: "size",
                    group_name: "尺码",
                    prop_value: [
                      "XS",
                      "S",
                      "M",
                      "L"
                    ]
                  },
                  {
                      group_id: "color",
                      group_name: "颜色",
                      prop_value: [
                        "red",
                        "green",
                      ]
                  }
                ]
            },
            methods: {
                selectProp: function (index) {
                    console.log(this)
                }
            }
        });

这种数据结构,怎样让遍历出来的dom元素实现点击之后给自己添加类名的方法啊?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
迷茫

如果是点击之后添加on-choose这个类名的话,先把select变为false,点击之后再改成true

大家讲道理

實現

jsFiddle

說明

<p id="myapp">
    <template v-for="i in prop_group">
        <p>{{ i.group_name }}</p>
        <p class="prop-val" :class="{ 'on-choose': i.selected_prop_value === $index }" v-for="val in i.prop_value" v-on:click="selectProp($parent.$index, $index)">{{ val }}</p>
    </template>
</p>
new Vue({
    el: '#myapp',
    data: {
        numControl: {
            num: 1,
            maxLimit: 10,
            minLimit: 1,
            saleOff: false
        },
        prop_group: [
            {
                group_id: "size",
                group_name: "尺码",
                prop_value: [
                    "XS",
                    "S",
                    "M",
                    "L"
                ],
                // 預設沒有
                selected_prop_value: null
           },
           {
               group_id: "color",
               group_name: "颜色",
               prop_value: [
                   "red",
                   "green",
               ],
               // 預設沒有
               selected_prop_value: null
           }
        ]
    },
    methods: {
        selectProp: function (groupIndex, propIndex) {
            // 傳進 groupIndex 和 propIndex ,並放入對應的索引值
            this.prop_group[groupIndex].selected_prop_value = propIndex
        }
    }
});

在拿到後端數據時進行結構的變動

jsFiddle

怪我咯

总感觉怪怪的,data数据结构需要重塑,信息不是很详细。
不知道下面是否是题主想要的结果。
点击阅览

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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