vue样式切换

1.我想实现的效果是点击某个div,若这个div是已经选中的状态就不进行操作,若不是,则进行样式的切换,
现在的效果是不论点哪个div都会切换样式

<div class="teacherAndStudent">
                <div class="teacherOrStudent" v-bind:class="{ active: isActive }" @click="chooseByts">
                    老师
                </div>
                <div class="teacherOrStudent" v-bind:class="{ active: !isActive }" @click="chooseByts">
                    学生
                </div>
            </div>
data () {
      return {
        isActive:true
      }
    },
    methods:{
      chooseByts (ev) {
        console.log(ev.target)
        this.isActive = !this.isActive
      }
    },
阅读 6.7k
1 个回答

你应该是想做成 radio 的效果

<div>
    <div :class="{ active: type === 'teacher'}" @click="change('teacher')">
        老师
    </div>
    <div :class="{ active: type === 'student'}" @click="change('student')">
        学生
    </div>
</div>
data () {
  return {
    type: null
  }
},
methods:{
  change (type) {
    this.type= type
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题