“数字”类型的参数不能分配给“字符串”类型的参数

Fre*_*sco 1 javascript ionic-framework ionic3

我试图UNIX通过以下方式在本地存储中设置时间:

let dt: number = Date.now();
localStorage.setItem('logged', dt+864000000);
Run Code Online (Sandbox Code Playgroud)

返回错误: “数字”类型的参数不可分配给“字符串”类型的参数

当我getItem用来读取logged数据时,它给出了同样的错误。

有什么解决办法吗?

T.J*_*der 6

本地存储中的所有项目都是字符串。您试图将一个数字作为第二个参数传入setItemwhensetItem的第二个参数是 type string,因此自然而然TypeScript 会警告您(因为您要求类型安全)您不能这样做。

如果要存储在本地存储中,请显式将其转换为字符串:

let dt: number = Date.now();
localStorage.setItem('logged', String(dt+864000000));
Run Code Online (Sandbox Code Playgroud)


Mus*_*ala 5

试试这个

let dt: number = Date.now();
localStorage.setItem('logged', ""+dt+864000000);
Run Code Online (Sandbox Code Playgroud)

希望这对你有用