代码之家  ›  专栏  ›  技术社区  ›  amacdonald

如果长度>0时正确显示,但长度==0时不显示,则为ng

  •  0
  • amacdonald  · 技术社区  · 6 年前

    我有一个非常简单的ng,如果它是基于数组的长度。如果长度大于零,则显示长度。如果为零,则表示为空。当长度大于零时显示,但当长度为零时不显示。有人看到我错过了什么吗?

    这是我的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>
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Hugo Noro    6 年前

    问题很简单。你在重复 sigFigCtrl.companies[$index].employees . 这意味着当没有元素时,它将永远不会运行。像循环一样思考 for each for . 如果没有元素,迭代将永远不会运行。这就是为什么你从来没有真正接触过内心 ngIf 您正在测试它是否有元素。它在根位置停止