为什么角饼干只接受字符串,而不接受数字?

时间:2013-11-18 13:59:06

标签: angularjs angular-cookies

当我使用角度cookie时,我发现只有字符串被$ cookies接受并在设置时存储在浏览器的cookie中。即

如果我设置以下cookie

$cookies.id = 12345;
$cookies.name = "Prasad";

在浏览器中只设置了 $ cookies.name 。所以我不得不把它改成

$cookies.id = "12345";

让它发挥作用。

here是显示演示的小提琴链接。

我已经尝试检查角度源代码以查看原因并发现他们故意检查值为isString。

他们是否只接受字符串值是否有任何特定原因。我们不能只允许整数并在添加到浏览器cookie时转换为字符串。

谢谢!

1 个答案:

答案 0 :(得分:0)

主要原因可能是cookie的值始终存储为浏览器中的字符串。当然,Angular可以允许你在使用服务时将其保存为int,然后在创建cookie之前将其转换,问题是人们会假设当他们稍后读取该cookie时,该值仍然是int(毕竟他们是如何拯救它的。

它不会,它会是一个字符串。

Angular似乎有理由(我个人同意)预先严格要求。强制输入与输出相同,这样人们就不会误解他们在阅读cookie时会得到什么。