尝试在指令的链接函数中使用与号&来调用传递给指令的函数时遇到问题。
似乎在控制器上调用了该函数,但在调用中未传递任何参数。我们看到的所有示例都涉及通过在模板中创建调用来进行传递。有没有一种方法可以从其模板的指令中调用指令中的函数,然后在指令中执行某些操作,以调用传递给它的控制器函数?
您是否在{}s中传递了参数?例如,在指令的链接函数中,您将希望像这样调用方法: scope.someCtrlFn({arg1: someValue});
{}
scope.someCtrlFn({arg1: someValue});
<div my-directive callback-fn="ctrlFn(arg1)"></div> app.directive('myDirective', function() { return { scope: { someCtrlFn: '&callbackFn' }, link: function(scope, element, attrs) { scope.someCtrlFn({arg1: 22}); }, } }); function MyCtrl($scope) { $scope.ctrlFn = function(test) { console.log(test); } }
jsfiddle。