我尝试在同一个 ng-if 中设置 3 个条件,但我的应用程序停止滚动...... 我将 3 个条件分成 2 个 div,第一个 div 中有 2 个条件,第二个 div 中有 1 个条件,现在它可以工作了...但我不明白为什么...
params.schedule 值未定义-未定义-
<div class="inputs-row" ng-if="params.schedule.length > 0 && params.schedule != undefined">
<div ng-if="params.schedule != 'undefined-undefined-'">
<div class="inputCol">
{{'ScheduleDate' | translate}}
</div>
<div class="inputCol">
{{params.schedule}}
</div>
</div>
</div>
任何人都可以验证或解释它吗?
最佳答案
您需要更改逻辑顺序,以便最有可能失败的事情排在第一位。您还可以使用隐含的“真实性”来简化此逻辑
ng-if="params.schedule && params.schedule.length && params.schedule != 'undefined-undefined-'"
如果 params.schedule
为 false(未定义),则停止。一切都好。
如果您首先检查 params.schedule.length
并且 params.schedule
未定义,则会出错,因为您正在检查未定义的属性.
如果 if(params.schedule.length > 0)
与 if(params.schedule.length)
相同,因为任何非零长度 = true。
这是关于使用真实性的一个很好的入门:https://codeburst.io/javascript-null-vs-undefined-20f955215a2
关于javascript - 具有 3 个条件的 ng-if 不起作用? Angular js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54027611/