有没有办法从Dart中调用名为call()
的JavaScript函数(在嵌套对象中),或者我必须等待Dart 2.0,从中可以删除对call()
的特殊处理?
我有一个JS代理像:
@JS()
class SomethingFancy {
external String call();
}
但是call()
可以将一个对象转换为函数,这使得访问JS对象的函数变得不可能。
如果可以的话,我会在Dart中更改该方法的名称,但是package:js
不支持此操作:
/// By default the dart name is used. It is not valid to specify a custom
/// [name] for class instance members.
我收到的错误消息如下:
Uncaught Error: NoSuchMethodError: method not found: 'call$0' (J.getSomethingFancy$1$x(...).call$0 不是一个函数)
如果该函数不存在,错误将如下所示:
Uncaught Error: NoSuchMethodError: method not found: 'callMe' (receiver.callMe 不是一个函数)
该对象上的其他函数正常工作。
JS$call
不是一个函数,但是Dart2JS没有。我记得看到JS$JS$
也有意义,但现在找不到了。 - Jacob Phillips