vue改变class

我有十条数据
<li v-for="(item,index) in rows">

    <div class="Reco_name">
       <img :src="[Src+rows[index].picture]">
       <span>{{rows[index].showname}}</span>
       </div>

       <div class="Reco_Price">
          <p class="Price">
      <span>零售价${{rows[index].ydanjia}}元</span>
      // 当我想点击 这个i标签,替换class,可是十条数据的class都替换了,怎么解决
      //只替换当前点击的class
      <i class="iconfont" v-bind:class=classOject v-on:click="Sclass(index)"></i>
      </p>
      <p class="Price_ruling">现价:${{rows[index].danjia}}元</p>
       </div>
     </li>
     
 export default{
data(){
  return {
    rows:{},
classOject:'icon-taoxin',


  }
  },
   methods:{
     Sclass:function(index){

  
    
  }
   }
   }    
阅读 5.3k
1 个回答

你的rows为什么不是数组,你把这段代码拿去试试,点击应该能换对应的class

<ul>
        <li v-for="(item, index) in rows">
            <span>{{item.name}}</span>
            <i :class="item.checked?'icon-taoxin':'icon-heart-copy-copy-copy'" @click="!item.checked=item.checked"></i>
        </li>
    </ul>
    <script type="text/javascript">
        export default {
            data () {
                rows: [
                    {name: '张三', checked: true},
                    {name: '李四', checked: true},
                    {name: '王五', checked: true}
                ]
            }
        }
    </script>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题