当我使用角度cookie时,我发现只有字符串被$ cookies接受并在设置时存储在浏览器的cookie中。即
如果我设置以下cookie
$cookies.id = 12345;
$cookies.name = "Prasad";
在浏览器中只设置了 $ cookies.name 。所以我不得不把它改成
$cookies.id = "12345";
让它发挥作用。
here是显示演示的小提琴链接。
我已经尝试检查角度源代码以查看原因并发现他们故意检查值为isString。
他们是否只接受字符串值是否有任何特定原因。我们不能只允许整数并在添加到浏览器cookie时转换为字符串。
谢谢!
答案 0 :(得分:0)
主要原因可能是cookie的值始终存储为浏览器中的字符串。当然,Angular可以允许你在使用服务时将其保存为int,然后在创建cookie之前将其转换,问题是人们会假设当他们稍后读取该cookie时,该值仍然是int(毕竟他们是如何拯救它的。
它不会,它会是一个字符串。
Angular似乎有理由(我个人同意)预先严格要求。强制输入与输出相同,这样人们就不会误解他们在阅读cookie时会得到什么。