ng-show被隐藏的“功能”

因代码中遗漏等号,导致HTML元素错误地修改了接口返回的数据状态,页面显示异常。本文详细解析了这一意外状况及其解决过程,强调了在代码审查中全面检查的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在工作中由于手残,少写了一个“=”,导致了一个惊人的事情,接口返回的内容被我莫名其妙的改了,所以页面显示也很有问题。

代码说明:

// 接口返回的字段是status:'abc_ing'
// HTML的内容


<p ng-show = "status='abc_ed'">我是谁?</p>
<p ng-show = "status=='abc_ing'">我在哪?</p>

那么此时页面就会显示,我是谁?

原来,ng-show 后面的判断条件对status的值进行了赋值操作(居然还可以赋值),我是第一次遇到这种情况。

而且你把接口内容console出来当中的status也是abc_ed;

因为console出来的内容是当下最新的内容,也就是ng-show中的判断条件对其赋值之后的结果。

所以从这里得到一个教训,只要console出来的内容和接口返回的不一致,那么一定是对数据进行了操作。如果在js代码中找不到进行数据修改的任何蛛丝马迹,别忘记去HTML部分检查一下,或许就会找到答案。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值