2015-06-12 77 views
0

我在HTML元素與大致結構的<ul>如下列表:動態隱藏取決於值列表中Angularjs

<ul id="ElementList"> 
    <li> Some element 1 </li> 
    <li> Some element 2 </li> 
    <li> Some element 3 </li> 
    <li ng-repeat="element in someArray" ng-show = "SomeCondition"> element </li> 
</ul> 

我想完全隱藏元素列表,如果沒有元素3之後的元素,並顯示完整列表,如果在元素3之後出現任何元素。用於ng-repeat的數組和上面的ng-show的條件是我不能使用或者理解它如何工作的東西(來來自第三方),因此可以只與渲染的東西玩耍。我怎樣才能做到這一點?

+0

使用問題解答解決http://stackoverflow.com/questions/19664691/angular-js-how-to-count-ng-repeat-iterations-which-satisfy-the-custom-filter – labyrinth

回答

0

所以,你想要顯示的列表只有元素的數組不爲空,如果SomeCondition是真實的:

<ul id="ElementList" ng-show="someArray.length != 0 && SomeCondition"> 
+0

這裏的condition子句適用於特定的元素,而不是整個數組。所以,假設數組中有10個元素,但它們都不符合條件,它們不會出現在列表中,在這種情況下,我不想顯示元素1,元素2和元素3。 – labyrinth

+0

然後向控制器作用域添加一個函數,如果至少有一個元素滿足其條件,則返回true。 –

+0

對控制器進行更改可能會讓我感到非常複雜。有沒有什麼辦法,比如說把一個模型與列表元素相關聯,然後說對這個模型進行檢查? – labyrinth