Vue.js Vue:设置活动类-获取当前DOM元素

Vue.js Vue:设置活动类-获取当前DOM元素,vue.js,Vue.js,我尝试在当前选定的元素上设置一个类“active”。我不使用v-for。单击元素时,我将event.target设置为“selected”属性。在每个元素上,我想将当前元素与存储在“selected”中的元素进行比较。但是如何获取当前元素呢 或者,如果有一个更简单的方法来实现它,那将是一个有趣的发现 模板: <div id="app"> <button :class="{'active': selected === ''}" @click="test($event)"&g

我尝试在当前选定的元素上设置一个类“active”。我不使用
v-for
。单击元素时,我将event.target设置为“selected”属性。在每个元素上,我想将当前元素与存储在“selected”中的元素进行比较。但是如何获取当前元素呢

或者,如果有一个更简单的方法来实现它,那将是一个有趣的发现

模板:

<div id="app">
  <button :class="{'active': selected === ''}" @click="test($event)">{{ message }}</button>
  <button :class="{'active': selected === ''}" @click="test($event)">{{ message }}</button>
  <button :class="{'active': selected === ''}" @click="test($event)">{{ message }}</button> 
</div>
CSS:


像这样的东西

<div id="app">
  <button :class="{'active': selected === 'a'}" @click="selected = 'a'">{{ message }}</button>
  <button :class="{'active': selected === 'b'}" @click="selected = 'b'">{{ message }}</button>
  <button :class="{'active': selected === 'c'}" @click="selected = 'c'">{{ message }}</button> 
</div>

{{message}}
{{message}}
{{message}}
演示:



您还可以使用来检测值何时更改,或者按照您喜欢的方式运行函数,或者,但是不要执行类似于这样的操作

<div id="app">
  <button :class="{'active': selected === 'a'}" @click="selected = 'a'">{{ message }}</button>
  <button :class="{'active': selected === 'b'}" @click="selected = 'b'">{{ message }}</button>
  <button :class="{'active': selected === 'c'}" @click="selected = 'c'">{{ message }}</button> 
</div>

{{message}}
{{message}}
{{message}}
演示:



您还可以使用来检测值何时更改,或者按照您喜欢的方式运行函数,但是不要执行类似于

好的解决方案的操作,这样它就可以在不使用DOM元素的情况下解决。好的解决方案,这样它就可以在不使用DOM元素的情况下解决。
<div id="app">
  <button :class="{'active': selected === 'a'}" @click="selected = 'a'">{{ message }}</button>
  <button :class="{'active': selected === 'b'}" @click="selected = 'b'">{{ message }}</button>
  <button :class="{'active': selected === 'c'}" @click="selected = 'c'">{{ message }}</button> 
</div>