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. ディレクティブが実際にcssを適用するように、どうにかtranscludeしてアイテムを取得できますかtile(抽象化したい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 が作成するスコープを共有します (アイテムごとに 1 つのスコープ)。したがって、filteredItemsプロパティはディレクティブで使用できます。

タイル ディレクティブが実際に CSS を適用するように、どうにかして項目をトランスクルージョンできますか (ng-style="{top:getTop(item),left:getLeft(item)}" などを抽象化したい)。

ディレクティブは、それが定義されている要素にtileアクセスできます。liしたがって、単純に呼び出すことができますelement.addClass(...)

于 2013-04-10T14:47:08.203 に答える