为什么 else 会在这个 if else 语句中触发?

时间:2021-05-31 16:06:09

标签: javascript vue.js if-statement

所以我在 vue 中有这个方法,它改变了 onclick 的 darkMode 变量,

我不明白的是为什么它总是触发 if 部分,然后也触发 else 部分

data(){
    return{
      darkMode:false,
    }
  },
methods:{
darkModeToggle(){
  if(this.darkMode == false)
  {
    console.log("should be dark")
    this.darkMode = true
  }
  else(this.darkMode == true)
  {
    console.log("should be light")
    this.darkMode = false
  }
}
}

预期输出是第一次点击=“应该是暗的”然后第二次点击=“应该是亮的” 但是它在每次点击时触发两次并输出 = “应该是黑暗的”和 “应该很轻”

我知道它与“else if”一起工作正常,我只是不明白为什么它不能以这种方式工作。

1 个答案:

答案 0 :(得分:0)

答案很简单

else 不能有条件 他们应该是这样的

if(condition) {
} else {
}

如果您想获得所需的输出,请使用 else if 应该是这样的

if(condition) {
} else if(another_condition) {
}