AngularJS - 如何绑定到指令内的ngRepeat元素

时间:2013-01-27 13:28:10

标签: javascript web angularjs closures directive

在我的指令中,我有一个带有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
        }
    }
    }...

我想将转发器的每个元素与我的指令中的函数绑定,最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

您需要通过将scope: { items: '='}添加到指令定义对象来创建隔离范围并将项目传递给指令,然后为每个项目添加处理程序:

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

在链接功能中:

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

并将其用作<directive items='items' ...>