使用参数从指令调用ng-repeat的函数

时间:2015-05-04 14:01:33

标签: javascript angularjs

我正在尝试创建一个可重用的类似列表的指令。 示例代码没有样式等。

代码确实调用了回调但没有传递参数。 理想情况下,它会返回该行或其索引的对象。

  • 传递的函数'callback'来自控制器。
  • 该指令没有直接与之关联的控制器。

非常感谢任何帮助。

指令:

module.directive('quicklist', function() {
    return {
        restrict:'E',
        scope: {
            data: '=ngModel',
            clickFn: '&callback'
        }
        template:'<ul><li ng-repeat="d in data"><a href="" ng-click="clickFn(d)">{{d}}</a></li></ul>'
    };
});

HTML:

<quicklist ng-model='array' callback='work(arg)'><quicklist>

1 个答案:

答案 0 :(得分:2)

当我传递与指令中的参数一起使用的函数时,我使用=绑定:

scope: {
            data: '=ngModel',
            clickFn: '=callback'
        }

在HTML中只传递函数的名称而不带参数:

<quicklist ng-model='array' callback='work'><quicklist>