vue做商品选择如何保持样式

是这样的情况:
我知道,在vue里,实现点击高亮,可以使用诸如:

<div class="static" v-bind:class="{defaultClass ,active: isActive}">
</div>

<div class="static" v-bind:class="[defaultClass,{active:index==choosedIndex}]"></div>

复制代码
<div v-bind:class="classObject"></div>
data: {
  defaultClass,
  isActive: true
},
computed: {
  classObject: function () {
    return {
      active: this.isActive
    }
  }
}
复制代码

曾经都是用jquery操作dom去实现的。但是vue里,我想尽量不去操作dom,而是去操作数据的传递。
如何实现,选择颜色的时候,只有一个颜色是选中状态。选中尺码的时候,颜色依然保持选中状态的。反之,亦然。

正文开始:(Bug在这里)话不多说,直接撸代码

复制代码
<div class="hi-text">
   <div>商品属性</div>
      <ul>
        <li v-for="(item, index) in goodsNames" :key="index" 
        :class="navIndex===index?'active':''"
         @click="inputFillEvent(index, item, $event)">{{ item }}
        </li>
     </ul>
  </div>
</div>
复制代码

本来直接绑定了样式 :class="navIndex===index?'active':''" 可以直接改变选中li样式,

但是因为下面的div省事儿 也命名为hi-text控制样式,一点击页面,li选中样式就失效;

解决办法:单独命名div盒子 不重复命名

posted @   王小道  阅读(425)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示