【问题标题】:ng-if appearing properly when length > 0, but not appearing when length === 0ng-if 在长度 > 0 时正确显示,但在长度 === 0 时不显示
【发布时间】:2018-02-20 09:25:45
【问题描述】:

我有一个非常简单的 ng-if,它基于数组的长度。如果长度大于零,则显示长度。如果它为零,则表示它是空的。它在长度大于零时显示,但在零时不显示。有人看到我在这里缺少什么吗?

这是我的 HTML(有问题的 ng-if 位于第 5 行和第 9 行,但我想我应该把周围的 HTML 放在那里,以防周围有我遗漏的东西):

<div class="employee-box" ng-repeat="employee in sigFigCtrl.companies[$index].employees">
    <span class="glyphicon glyphicon-edit pull-right" ng-click="sigFigCtrl.toggleEmployeeEdit($index)"></span>
    <span class="glyphicon glyphicon-remove pull-right" ng-click="sigFigCtrl.deletePerson(employee._id, $index, sigFigCtrl.companies[$parent.$index].employees)"></span>
        <div ng-show="!sigFigCtrl.companies[$index].editEmployee">
            <div ng-if="sigFigCtrl.companies[$index].employees.length > 0">
                <p><b>Name:</b> {{employee.name}}</p>
                <p><b>Email:</b> {{employee.email}}</p>
            </div>
            <div ng-if="sigFigCtrl.companies[$index].employees.length === 0">
                empty array!
            </div>
        </div>
    <div ng-show="sigFigCtrl.companies[$index].editEmployee">
        <form name="editPersonForm" ng-submit="sigFigCtrl.editPerson(employee._id, $index)">
        <div class="form-group">
            <div class="col-md-12">
                <input type="text" ng-model="sigFigCtrl.editPersonName" id="name" placeholder="Name of Employee" class="form-control" required></input>
            </div>
        </div>            <div class="form-group">
        <div class="col-md-12">
            <input type="text" ng-model="sigFigCtrl.editPersonEmail" id="name" placeholder="Email of Employee" class="form-control" required></input>
        </div>
            <button>SUBMIT</button>
        </form>
    </div>
 </div>

【问题讨论】:

    标签: html angularjs angularjs-ng-repeat


    【解决方案1】:

    问题很简单。你正在重复sigFigCtrl.companies[$index].employees。这意味着当没有元素时它永远不会运行。将其视为for each 或for 之类的循环。如果没有元素,则迭代将永远不会运行。这就是为什么你从来没有真正到达你正在测试它是否有元素的内部ngIf。停在根部

    【讨论】:

    • 啊!是的,就是这样。非常感谢。
    • 不用担心。总是乐于提供帮助。请不要忘记检查已回答的问题,以帮助遇到类似问题的其他人。
    • 您还有空来帮忙吗?我遇到了一些令我困惑的新事物。
    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 2023-03-06
    • 2020-07-23
    • 2023-04-04
    • 2015-07-24
    • 2013-03-29
    • 1970-01-01
    相关资源
    最近更新 更多