我正在尝试将回调函数从 Controller 传递到指令。
回调函数代码如下:
$scope.onImageSelect = function(image) {
alert('SET');
$scope.card.image = image;
};
指令用法:
<google-image-search callback="onImageSelect" />
指令代码:
ngmod.directive('directive', function() {
return {
templateUrl: '/templates/template.html',
scope: {
callback: '&'
}
}
});
模板中的回调用法:
<a data-ng-click="callback(url)"></a>
但是,这给了我以下错误:
TypeError: Cannot use 'in' operator to search for 'onImageSelect'
我看过很多类似的问题,但无法理解我错在哪里。
最佳答案
当从指令中调用表达式方法时,您需要以 JSON
格式从指令中传递参数,您还应该更正指令中的 callback
属性值以传递函数像 callback="onImageSelect(image)"
指令用法:
<google-image-search callback="onImageSelect(image)" />
指令模板
<a data-ng-click="callback({image: url})"></a>
关于javascript - 将回调函数传递给指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440366/