2

私のディレクティブには、ng-repeatを含むテンプレートがあります。

 ...return {
       template:'<div id="wrapper"><ul><li ng-repeat="item in items">{{item.name}}</li></ul></div>',
       compile:function (tElement, tAttrs) {

        return function (scope, iElement, iAttrs) {
              //bind item mouse event to a closure function
        }
    }
    }...

リピーターの各要素をディレクティブ内の関数にバインドしたいのですが、最善の方法は何ですか?

4

1 に答える 1

3

分離されたスコープを作成しscope: { items: '='}、ディレクティブ定義オブジェクトに追加してアイテムをディレクティブに渡し、各アイテムにハンドラーを追加する必要があります。

<span ng-click='clicked(item)'>{{item.name}}<span>

そしてリンク機能で:

scope.clicked = function(item) { .. Do thmthng with item...};

そしてそれを<directive items='items' ...>

于 2013-01-27T15:16:23.957 に答える