javascript – 将回调函数传递给指令

前端之家收集整理的这篇文章主要介绍了javascript – 将回调函数传递给指令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将一个回调函数从控制器传递给一个指令.

这是回调函数代码

$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 =“onImageSelect(image)”

指令使用:

<google-image-search callback="onImageSelect(image)" />

指令模板

<a data-ng-click="callback({image: url})"></a>

猜你在找的JavaScript相关文章