【问题标题】:Dynamically hiding a list depending on the values in the list in Angularjs根据Angularjs中列表中的值动态隐藏列表
【发布时间】:2015-08-28 20:10:13
【问题描述】:

我在 html 中有一个 <ul> 的元素,其结构大致如下:

<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 的条件是我无法使用或更确切地说无法理解它是如何工作的东西(来自第三方),因此只能使用渲染的东西。我该怎么做?

【问题讨论】:

标签: angularjs


【解决方案1】:

因此,您希望仅当元素数组不为空且 SomeCondition 为 true 时才显示列表:

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

【讨论】:

  • 这里的条件子句适用于特定元素,而不是整个数组。因此,假设数组中有 10 个元素,但没有一个满足条件,它们不会出现在列表中,在这种情况下,我不想同时显示元素 1、元素 2 和元素 3。
  • 然后在控制器范围内添加一个函数,如果至少有一个元素满足其条件,则返回 true。
  • 对控制器进行更改可能会使事情变得非常复杂。有什么办法,比如将模型与列表元素相关联,然后根据该模型进行检查?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
  • 2023-03-07
  • 2013-06-28
  • 2018-11-29
相关资源
最近更新 更多