【问题标题】:ng-repeat and ui-ifng-repeat 和 ui-if
【发布时间】:2013-03-10 16:57:18
【问题描述】:

当我想将 ui-if (anguluarUi) 与 ng-repeat 一起使用时(我认为它在那里最有用)我得到一个错误:

Error: Multiple directives [uiIf, ngRepeat] asking for transclusion on: <!-- uiIf: oConnection.aOptions -->

有没有办法把这两者结合起来?

编辑:

<ng-repeat><div ui-if>...

不幸的是(目前)不可能。

我知道我可以将 ng-show 和 ng-repeat 结合起来,但不一样。

我也不想将 ui-if 放在重复之外,因为我想将重复的值用于条件。

【问题讨论】:

  • 我不这么认为,为什么?此外,有条件地更改 ngRepeat 中的 dom 结构会影响性能。您可以使用 ngShow 或仅过滤 ngRepeat 源。
  • 另外,对于您的问题:两个指令不能要求在同一元素上进行嵌入、模板替换和隔离范围,因为它们确实相互冲突,角度如何决定遵循哪个指令?如果您要使用 ui-if,那么您将无法在 ngRepeat 之外或在其内部使用它,但不能在同一元素上使用它
  • @fastreload:谢谢你的解释。我想可能是这样。有一个会很高兴......好吧,有过滤器功能。我想我会坚持下去。
  • 你也可以有条件地将一个类应用到一个带有 ngClass 的元素上,并将它与 ngRepeat 的索引器结合起来。例如ng-class="{blueBg: $index % 2 == 0}"
  • 使用 @joshkurz 建议的过滤器,或/和 ngClass 如果您需要的话。

标签: angularjs angular-ui


【解决方案1】:

我认为应该使用过滤器而不是 ui-if。

【讨论】:

    【解决方案2】:

    ui-if 已删除 至少从最新版本的 angular-ui 但由于 angular 1.1.5 你有 ng-if build-在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多