javascript - 具有 3 个条件的 ng-if 不起作用? Angular js

标签 javascript angularjs angular-ng-if

我尝试在同一个 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/

相关文章:

c# - Visual Studio Razor 页面错误语法错误

JavaScript 拒绝工作?

twitter-bootstrap - 将动态数据从 AngularJS 显示到 Twitter Bootstrap Popover

mysql - AngularJS 不显示重音字符

html - angularJS 如何忽略某些 HTML 标签?

angular - 比多个 ngIf 更好的方法

javascript - Stack Overflow 信誉图 (Flot) 的文档

javascript - 如何在 Javascript 中为每个列表项分配一个顺序 ID? (顺便说一下,在 html 文档中)

AngularJS ng-if 和范围

jquery - daterangepicker 不在 ng-if 内工作