2016-06-23 13 views
0

我的存在問題是這樣的:顯示所有的對象,過濾器上的屬性,如果它在AnguarJS

我有,通過使API調用來填充,並顯示結果列表的課程列表。您可以按主題或按關鍵字過濾每門課程。

一套課程屬於一個屬性,稱爲「路徑」,並非所有課程都有。

在API中,我可以爲值「路徑」分配一個值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是撿空值和無標籤顯示它作爲一個複選框,或(與小調整)不顯示任何當然,除非它有一個path屬性。

如何顯示所有課程,而不管它們是否具有1,2,3,4或Null的路徑屬性,並且沒有Angular顯示空的複選框?

編輯爲清晰:所有的課程有多個屬性,並有三個搜索字段:關鍵字(搜索標題),主題和路徑。在路徑搜索中,有一列由AngularJS生成的複選框,它顯示路徑中每個唯一值的複選框; 1,2,3,4或Null。我遇到的問題是,我所做的隱藏空值的所有操作都會過濾出列表中具有空值路徑值的所有課程。如果路徑!= null,我只想過濾路徑。

TL; DR:我想隱藏複選框的值爲Null,而不隱藏課程列表中的路徑值爲Null的課程。

+0

我不明白這一點。如果沒有路徑會顯示什麼? – charlietfl

+0

問題在於,如果對象具有空路徑值,則不顯示任何內容,而應該是。所有對象的路徑值都是1,2,3,4或Null。這會生成一系列值爲1,2,3,4或空白的複選框。我如何刪除或隱藏空的複選框? – Kickasstimus

+0

你想嘗試這樣的事情嗎?http://codepen.io/nagasai/pen/XKpJxV –

回答

1

使用ng-if不包括複選框沒有路徑

<div class="checkbox" 
    ng-repeat="course in ds.courseList | unique:'course_path'" 
    ng-if="course.course_path"> 
+0

不幸的是,我試過了。 – Kickasstimus

+0

沒有理由它不應該工作。用一些示例數據在plunker中創建演示 – charlietfl

+0

它隱藏了所有沒有路徑的課程。我需要所有的課程來顯示路徑是否爲1,2,3,4或Null,並且只有當值爲null時才隱藏由NG重複生成的複選框 - 而不隱藏所有具有空路徑值的課程。 – Kickasstimus

0

使用

<div class="checkbox" ng-repeat="course in courseList "> 
<label><input type="checkbox" ng-model="ds.searchPath" ng-show="{{course['course_path']}}">{{course['course_path']}}</label> 
</div> 
</div> 

Codepen- http://codepen.io/nagasai/pen/XKpJxV

+0

在你的案例中使用ng-show =「{{$ course.course_path $}}「 –

+0

不要在ng-show中使用'{{}}''。它直接評估表達式 – charlietfl

+0

是@charlieftl,Kickasstimus使用ng-show =「$ course.course_path $」 –

相關問題