如何通过引用传递vue.js元素实例

时间:2018-09-16 15:45:54

标签: javascript vue.js

好吧,这似乎是一个非常简单的问题,但我无法弄清楚。我有一个vuejs项目,其中有以下组件代码:

   <div>
     <v-chip @click="chip_active(// pass the reference //)" 
     color="#E0E0E0" class="white--text" 
     v-for="single_interest in interest" :key="single_interest">
     {{ single_interest }}
     </v-chip>
   </div>

因此,在单击方法中,我需要更改芯片元素的单个实例(单击的一个)的属性颜色,而不是孔v-for芯片。 为此,我想到了传递芯片实例引用并直接从方法中更改属性颜色的问题,问题是我不知道如何在vuejs上执行此操作。 有人可以帮助我吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

所以我会这样处理,使问题更加分开

  • 每个芯片上都有一个selected,默认情况下为假
  • 添加一个@click=setSelected(chip)
  • 在您的setSelected中,将所选一个的值设置为true,将其他设置为false

如果您不想在筹码上设置值,则还可以保留一个完全独立的变量selectedChip,该变量保存所选筹码的值。然后,您setSelected将更改selectedChip的值。您还需要将selectedChip传递到循环中,以便在选择了当前芯片的情况下处理显示内容