1

我想平铺进入的元素(根据过滤列表ng-repeat设置它们)css

理想情况下,我想像这样使用 html 标记:

<ul>
  <li ng-repeat="row in rows">
     <h6>{{row.name}}</h6>
     <ul>
        <li ng-repeat="item in items|filter:row" tile>{{ item.name }}</li>
     </ul>
  </li>
</ul>
  1. 我是否可以访问正在传递给的列表ng-repeat?(AngularJS 以外的任何其他方式- 如何获取 ngRepeat 过滤结果参考
  2. 我可以以某种方式transclude处理这些项目,因此该tile指令实际上会应用 css(我想抽象ng-style="{top:getTop(item),left:getLeft(item)}"等)
4

1 回答 1

2

我可以访问传递给 ng-repeat 的列表吗?(AngularJS 以外的任何其他方式 - 如何获取 ngRepeat 过滤结果参考)

我认为您需要执行您在引用的链接中看到的操作:

ng-repeat="item in (filteredItems = (items|filter:row))" tile>

假设您的tile指令没有创建新范围,它将共享 ng-repeat 创建的范围(每个项目一个范围)。因此,该filteredItems属性将可用于您的指令。

我可以以某种方式转换项目,因此 tile 指令实际上会应用 CSS(我想抽象 ng-style="{top:getTop(item),left:getLeft(item)}" 等)

您的tile指令可以访问li定义它的元素。所以你可以简单地调用,例如,element.addClass(...)

于 2013-04-10T14:47:08.203 回答