【问题标题】:Nuxt constant is assigned a value but never usedNuxt 常量被赋值但从未使用过
【发布时间】: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 完全无关。

标签: vuejs2 constants nuxt.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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多