3

我是 AngularJS 的新手。我正在编写一个接收函数名称的指令(因为这会偶尔更改),然后我将其设置为ng-click模板中的函数以调用控制器上的函数。但是,它似乎没有触发,我确定我做错了什么,所以任何帮助都会很棒!

我希望 在我的指令中,通过注入模板的 html 标记fire-fn="callThis($index)" 来调用$scope.callThison 。MyCtrl

代码在这里: http ://plnkr.co/edit/epMfDwZILgJ5W9qIIPgr?p=preview

谢谢您的帮助!

4

1 回答 1

10

您需要删除链接函数中发生的“$parent”内容,并在指令中调用它ng-click="fireFn()"而不是使用 {{}} 。

在http://plnkr.co/edit/VJNOyx0sBRo0QrcJLsOB?p=preview查看工作版本(带索引!)

'&' 传递属性的方式很奇怪,来自 Angular 文档:

通常希望通过表达式将数据从隔离范围传递到父范围,这可以通过将局部变量名称和值的映射传递到表达式包装器 fn 来完成。例如,如果表达式是 increment(amount),那么我们可以通过将 localFn 调用为 localFn({amount: 22}) 来指定数量值。

于 2013-05-01T01:17:47.277 回答