AngularJS:是0 == 2?

前端之家收集整理的这篇文章主要介绍了AngularJS:是0 == 2?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to parseInt in Angular.js5个
我在这边抓我的头我使用angularJS并尝试使用包含调用parseInt的表达式.
{{0 == 2}}

…按预期打印出错误.)

但是,当我试图:

{{parseInt(0) == parseInt(2)}}

…它打印出来…真的!

怎么可能呢?

Angular does not use JavaScript’s eval() to evaluate expressions.
Instead Angular’s $parse service processes these expressions.

Angular expressions do not have access to global variables like
window,document or location. This restriction is intentional. It
prevents accidental access to the global state – a common source of
subtle bugs.

Refer

在你的html

parseInt(0)和parseInt(2)在您的html中都是未定义的.

所以{{undefined == undefined}}是true.Beacause parseInt是一个Javascript函数,所以你无法访问边{{}}中的parseInt函数. [这里parseInt不是范围变量]

如果你想这样做,

在控制器中定义parseInt,

$scope.parseInt = parseInt;

那么你可以在html中使用parseInt方法

猜你在找的Angularjs相关文章