首页 > 解决方案 > 使用模板文字动态创建 localStorage 键的问题

问题描述

我正在尝试使用使用模板文字创建的键将值保存到 localStorage,以从现有字符串和变量作为键创建新字符串,并将字符串和数字连接作为值。

在控制台中,字符串似乎已正确格式化以用于本地存储,但运行时会产生错误“TypeError: Failed to execute 'setItem' on 'Storage': 2 arguments required, but only 1 present。”

*下面的代码段会引发沙盒错误,而不是我在本地环境中收到的错误。谁能阐明我做错了什么?在此处输入图像描述

var tm="Charlotte Knights";
var cl ="AA";
var yr = 2019;

console.log(`"my${cl}", "${tm}_${yr}"`)
localStorage.setItem(`"my${cl}", "${tm}_${yr}"`)

标签: javascriptlocal-storagetemplate-literals

解决方案


localStorage.setItem(`"my${cl}", "${tm}_${yr}"`)一个字符串传递给setItem函数。要传递两个,您需要在逗号之前结束模板文字,然后在逗号之后开始另一个:

localStorage.setItem(`my${cl}`, `${tm}_${yr}`)
// --------------------------^--^

也摆脱"模板内的,除非您想要"键和值中的实际字符。


推荐阅读