Nuxt 常量被赋值但从未使用过

Posted

技术标签:

【中文标题】Nuxt 常量被赋值但从未使用过【英文标题】:Nuxt constant is assigned a value but never used 【发布时间】:2021-12-05 18:37:22 【问题描述】:

我有一个 Nuxt (Vue2) 应用程序,它给我一个错误:

c:\wamp64-3-2-0\www\test\dynamic_stores\campaign.js 1436:12 错误“活动”已分配一个值但从未使用过 no-unused-vars 1438:12 错误“活动”被分配了一个值,但 从未使用过 no-unused-vars 1441:18 错误“活动”未定义 无非定义

if( share_token ) 
  const campaign = await this.$api.campaigns.getSharedCampaign(share_token);
 else 
  const campaign = await this.$api.campaigns.getCampaign(state.id);


const data = campaign.data;

谁能告诉我这段代码有什么问题?谢谢。

【问题讨论】:

由于活动超出了 if 语句的范围,最后一行不应该抛出错误吗? 你可以使用一些 JS 基础课程(例如来自 Wes Bos)来加强你的技能。将在中/长期为您提供帮助。如果您的基础不稳固,那么太快进入框架将非常困难。 @kissu 这个问题和JS基本功有什么关系。这是有效的 JS,我很确定 Vue 代码也是有效的。 这与基本编程知识(函数范围)有关,如下面的答案中所述。因此,即使它是“有效的”,它也与 Vue 或 Nuxt 完全无关。 'campaign'被赋值但从未使用过与基本编程知识有关吗?我不这么认为。这不是功能范围。这是 JS 中不包含的条件范围。正如你上面写的,它与 JS 完全无关。 【参考方案1】:

您需要在if-else 语句之外声明campaign 才能在if-else 语句之外访问它。

例子:

let campaign;
if (share_token) 
    campaign = await this.$api.campaigns.getSharedCampaign(share_token);
 else 
    campaign = await this.$api.campaigns.getCampaign(state.id);

const data = campaign.data;

【讨论】:

是的,我知道,但我不想弄乱代码。 这里的mess 是什么意思?在上层范围内定义它在这里完全没问题。我的意思是,您可以用多种方式编写它,但这完全混乱。【参考方案2】:

如果它是一个方法,你可以返回 API 调用,你可以使用响应作为结果。

handleFetch()
    if(share_token) 
      return this.$api.campaigns.getSharedCampaign(share_token);
     else 
      return this.$api.campaigns.getCampaign(state.id);
    

谢谢你可以在模板或其他地方使用:

handleFetch()

【讨论】:

以上是关于Nuxt 常量被赋值但从未使用过的主要内容,如果未能解决你的问题,请参考以下文章

ESLint 抱怨从未使用过局部状态变量 no-unused-vars

const常量不能被修改,为啥编译还能通过?

1_变量以及数据类型

C++ 定义/赋值语法

c语言常量指针赋值给变量指针导致警告

指针常量和常量指针