我的问题是:
我有一个课程列表,通过进行API调用填充并显示结果列表。您可以按主题或关键字过滤每个课程。
属于一组课程,其属性名为" Path"并非所有课程都有。
在API中,我可以为值" Path"分配值1,2,3,4或Null。下面是允许我使用Path属性过滤课程的代码。
<div class="checkbox" ng-repeat="course in ds.courseList | unique:'course_path'">
<label><input type="checkbox" ng-model="ds.searchPath" ng-true-value="{$course.course_path$}" ng-false-value="">{$course.course_path$}</label>
</div>
所以真正的问题是AngularJS正在获取Null值并将其显示为没有标签的复选框,或者(略微调整)不显示任何课程,除非它具有路径属性。
如何显示所有课程,无论他们是否具有1,2,3,4或Null的路径属性,并且没有Angular显示空复选框?
编辑为CLARITY:所有课程都有多个属性,有三个搜索字段:关键字(搜索标题),主题和路径。在路径搜索中,AngularJS生成一个复选框列表,其中显示Path中每个唯一值的复选框; 1,2,3,4或Null。我遇到的问题是我为隐藏Null值而做的所有事情,也过滤掉了列表中具有Null路径值的所有课程。我只想过滤Path,如果Path!= null。
TL; DR:我想要隐藏值为Null的复选框,而不会从课程列表中隐藏路径值为Null的课程。
答案 0 :(得分:1)
使用ng-if
不包含没有路径的复选框
<div class="checkbox"
ng-repeat="course in ds.courseList | unique:'course_path'"
ng-if="course.course_path">
答案 1 :(得分:0)