将可变长度参数列表传递给AngularJS指令

时间:2014-01-22 00:26:57

标签: javascript angularjs angularjs-directive

我正在使用一个指令来禁用按钮,而我正在做一些幕后工作(以避免双重提交):http://jsfiddle.net/7nA3S/6/

我希望能够扩展它,以便指令属性可以接受具有任意长度参数列表的函数。

我知道通常的角度方式是将所需的值分配给元素上的其他属性,但我想知道是否有一种很好的方法来概括它。我可能会做类似

的事情

<button my-submit='someFunction' args="arg1, arg2, arg3, ...">No Evals<button>

然后拆分args字符串,但也许有一种不那么粗糙的方式?

1 个答案:

答案 0 :(得分:2)

也许是这样的:http://jsfiddle.net/7nA3S/7/

您可以使用ng.$parse使用针对给定$scope提供的参数来评估函数。

然后,您可以从arguments函数内的$scope.myAsyncSubmit数组中获取传递给函数的参数。