vue组件里的if条件不执行,if和else都被执行

data(){
    return{
        value2:true
    }
},
methods: {
        changState(){
            if (this.value2) {
                console.log(1111)    
            } else {
                console.log(2222)      
            }
        }
        
        
        element-ui组件
        <el-switch
        v-model="value2" @click.native="changState"
        active-color="#13ce66">
    </el-switch>
        

为什么if限制不住呢,changState竟然if 和 else都会被执行 1111和2222都会执行

阅读 6k
4 个回答

首先if和else在一次执行过程中,绝对不可能都执行,这一点不用怀疑。

如果1111和2222都被打印出来你可以考虑一下是不是执行了两遍,且value的值被改变过

其次,created中使用了$route.query,这个值貌似指的是?a=123&b=123这样的queryString。如果真值分支没有执行,那就说明queryStirng中始终有id这个属性。你没帖其他的东西,只能这么 分析了

应该是changState方法执行了多次, this.value2的值true和false都有, 打印一下就可以了

查看是不是 changState方法多次执行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题