我是AngularJS的新手。我正在写一个带有函数名的指令(因为这会偶尔改变),然后我将它设置为模板中的ng-click
函数来调用控制器上的函数。但是,它似乎没有被解雇,我确信我做的事情完全错了所以任何帮助都会很棒!
我想要的
我的指令fire-fn="callThis($index)"
,
通过注入模板的html标记来调用$scope.callThis
上的MyCtrl
。
代码在这里: http://plnkr.co/edit/epMfDwZILgJ5W9qIIPgr?p=preview
感谢您的帮助!
答案 0 :(得分:10)
您需要删除链接函数中发生的'$ parent'内容,并在指令中使用ng-click="fireFn()"
调用它,而不是使用{{}}。
在http://plnkr.co/edit/VJNOyx0sBRo0QrcJLsOB?p=preview
查看工作版本(带索引!)'&'的方式来自Angular docs的传递属性很奇怪:
通常需要通过表达式将数据从隔离范围传递到父范围,这可以通过将局部变量名称和值的映射传递到表达式包装器fn来完成。例如,如果表达式是increment(amount),那么我们可以通过将localFn称为localFn({amount:22})来指定金额值。