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

Vue中已使用msg_却触发‘已赋值但未使用’错误的原因咨询

解决ESLint报错:'msg_' is assigned a value but never used

这个报错的核心原因很明确:你在setup函数里定义了msg_变量,但没有把它暴露给模板使用。

虽然你在模板里写了<HelloWorld :msg="msg_"/>,但你的setup函数最后只返回了props,完全没把msg_加入返回对象。模板根本访问不到这个变量,ESLint就会判定它“赋值后未被使用”。

修复方法

修改setup的返回语句,把msg_也包含进去,这样模板就能正确访问到这个响应式变量,报错自然消失:

<template>
  <img alt="Vue logo" src="./assets/logo.png">
  <HelloWorld :msg="msg_"/>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'
import { ref } from 'vue'

export default {
  name: 'App',
  components: {
    HelloWorld
  },
  setup(props) {
    
    var msg_ = ref({msg:"msg from parent"})
  
    return {
      props,
      msg_ // 将msg_暴露给模板
    }
  }
}
</script>

补充说明

在Vue 3的Composition API中,setup函数返回对象里的属性,才是模板可以直接调用的响应式变量或方法。如果只定义变量却不返回,模板无法使用,ESLint就会触发“未使用变量”的规则报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:52:07