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 常量被赋值但从未使用过的主要内容,如果未能解决你的问题,请参考以下文章