为了账号安全,请及时绑定邮箱和手机立即绑定

ng-show的值为空false,有任意值为true 我在input输入false 为什么ng-show还是认为true,是因为他对字符串都以true来解析吗?

是这样的吗?

正在回答

5 回答

ng-show的值为空false,那么无论你在input输入什么,ng-show都为true

0 回复 有任何疑惑可以回复我~
#1

Dou_Bannnnnn 提问者

非常感谢!
2016-12-26 回复 有任何疑惑可以回复我~

输入false之后 username = "false"

Boolean(username) => true;

0 回复 有任何疑惑可以回复我~

你输入的false属于字符,你都说了有任意值为true,所以这个时候你输入了false后,ng-show当然为true

 

0 回复 有任何疑惑可以回复我~

简单的理解一下吧:ng-show原理是值为布尔类型true则显示,为false则隐藏。在本例子中当我们输入任何东西,ng-show取的都是这个东西的布尔值,当你输入任何东西布尔值都是true,你输入false时,false的类型是一个字符串,并不是布尔值false,转为布尔值后就是true,个人理解虽然原理不一定对,但是便于理解。

0 回复 有任何疑惑可以回复我~

任何飞空字符串 转换成布尔值的话 都是true吧

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
AngularJS实战
  • 参与学习       205465    人
  • 解答问题       1158    个

一起学习AngularJS的基础教程,通过实例学习并学会AngularJS

进入课程

ng-show的值为空false,有任意值为true 我在input输入false 为什么ng-show还是认为true,是因为他对字符串都以true来解析吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信