当前位置: 首页 > 面试题库 >

将回调函数传递给指令

司寇照
2023-03-14
问题内容

我试图将回调函数从控制器传递给指令。

这是回调函数代码:

$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>


 类似资料:
  • 问题内容: 我正在尝试将一些参数传递给用作回调的函数,该怎么做? 问题答案: 如果您想要更一般的东西,可以使用arguments变量,如下所示: 但是否则,您的示例可以正常工作(可以在测试器中使用arguments [0]代替回调)

  • 我正在尝试设置一个“事件接收器”类,将GLFW回调封装到用户可以从中继承的类中,但在将基类成员函数传递到GLFW“set callback”函数中时遇到问题。 这本质上提供了一个带有纯虚拟函数的基类,供用户继承和重写,以便在事件发生时提供自己的逻辑。用户定义的子类将被传递到更大的“应用程序框架”类中,该类将进行必要的调用以设置GLFW回调函数。 当然,您不能将成员函数作为函数参数传递,因为您必须提

  • 问题内容: 我有一个用Java实现的javascript接口,该接口由Web视图中加载的javascript代码调用。 JS Inside webview: Java: 通过webview加载的字符串最终是: 我有一些想法: 一个。在JS中以字符串形式构建回调。 b。在将回调传递给Android.myFunction()之前,先调用回调的toString(); 我的问题是,最好的方法是什么?我希望

  • 问题内容: 我需要在Node.JS应用程序中观察少量目录: 问题在于fs.watch仅将文件名传递给回调函数,而没有包括它所在的目录。我是否可以通过某种方式将额外的参数传递给updated()函数,以便它知道文件在哪里? 我认为我正在寻找类似于Python的工具,如果有帮助的话。 问题答案: 您可以使用:

  • 问题内容: 我有一个函数,将回调函数作为参数,并用一个参数调用它。 我还有一个带有两个参数的函数:和。 我想将函数作为参数传递给,但我也想作为第二个参数()传递给。我怎样才能做到这一点? 问题答案: 只需创建一个包装回调: 或使用ECMAScript 6箭头功能:

  • 问题内容: 我在工具栏中有大约10个QAction(此数字在运行时会有所不同),它们都会做相同的事情,但是使用不同的参数。我正在考虑将参数作为属性添加到QAction对象,然后,QAction的触发信号还将对象本身发送给回调函数,以便我可以获取该函数所需的参数。我实际上对此有2个问题: 能做到吗 有更好的方法吗? 问题答案: 您可以使用信号映射器发送动作对象本身。但是,最好仅发送一个标识符并在信号