我有一个非常简单的ng - 如果这是基于数组的长度。如果长度大于零,则显示长度。如果它为零,则说它是空的。它在长度大于零时显示,但在零长度时不显示。有人看到我在这里失踪的东西吗?
这是我的HTML(有问题的是在第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>
答案 0 :(得分:2)
问题很简单。你在sigFigCtrl.companies[$index].employees
重复了一遍。这意味着当没有元素时它永远不会运行。将其视为for each
或for
之类的循环。如果没有元素,迭代将永远不会运行。这就是为什么你从未实际到达内部ngIf
,你正在测试它是否有元素。它停在根