2015-06-12 46 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