gpt4 book ai didi

dart - 如何在 Dart js-interop 中为类 'Proxy' 定义方法?

转载 作者:行者123 更新时间:2023-12-01 12:45:51 27 4
gpt4 key购买 nike

我目前正在调用一个名为 Bootstrap Context Menu 的基于 jQuery 的插件.

为了调用它,我需要使用 Javascript Interop library .但是当我从中调用 jQuery 方法时,我收到以下警告:

The method 'jQuery' is not defined for the class 'Proxy'

代码片段:

  js.scoped(() {
js.context.jQuery('#canvas').contextmenu();
});

在某些 dart/js-interop 更新之前,这不会发生。摆脱此警告的正确方法是什么?

最佳答案

您收到此警告是因为新的分析器似乎没有意识到选项 Report 'no such member' warnings when class defines noSuchMethod()(报告于 http://dartbug.com/10016)。如果您切换回旧版分析器,您应该不会再看到此警告。

也就是说,如果你想使用新的分析器并摆脱这个警告,你可以像这样使用数组表示法:

js.context["jQuery"]('#canvas')["contextmenu"]();

但是:

  • 它的可读性较差,特别是对于方法调用。
  • 方法调用的效率较低,因为完成了 2 个操作(f = js.context["jQuery"],然后是 f('#canvas'))共 1 个(js.context.jQuery('#canvas'))

关于dart - 如何在 Dart js-interop 中为类 'Proxy' 定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050884/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com