You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue计算属性调用Getter报错:已返回值仍提示‘预期返回值’

解决Vue计算属性报错:Expected to return a value in 'features' computed property

问题原因

你第一个代码片段的计算属性features存在逻辑漏洞:只有当this.$store.getters.features为true时才会返回值,一旦该值变为false、null或undefined,整个函数就没有返回值。VS Code的ESLint规则会检测到这种“未覆盖所有分支返回值”的情况,因此抛出错误——哪怕你当前的store值确实是true,但代码逻辑本身不符合计算属性必须始终返回值的要求。

解决方案

方案1:移除多余判断(最优)

你的第二个代码片段已经是正确写法,直接返回store getter的值即可,完全不需要额外的if判断:

computed: {
  features() {
    return this.$store.getters.features 
  }
}

方案2:补全所有分支的返回值

如果确实需要做条件判断,必须确保每个逻辑分支都有返回值,比如:

computed: {
  features() {
    if (this.$store.getters.features) {
      return this.$store.getters.features
    }
    // 补充else分支的默认返回值,根据业务需求调整
    return false
  }
}

或者更简洁的短路写法:

computed: {
  features() {
    return this.$store.getters.features || false
  }
}

为什么第二个代码能正常运行?

因为它无论this.$store.getters.features是什么值(true、false、null等),都会直接返回对应的结果,没有遗漏任何逻辑分支,完全符合ESLint的代码规范要求。

内容的提问来源于stack exchange,提问作者john

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:22:44