3
我生成了一个示例聚合物Web项目。增加了以下js文件。js互操作编译与dart2js错误 - 未捕获NoSuchMethodError:找不到方法:
jslib.js
在clickcounter.dart我加入依赖
import 'package:js/js.dart' as js;
和改变增量()函数
void increment() {
js.context.testfunction();
count++;
}
在clickcounter.html加js文件导入
<script src="jslib.js" type="text/javascript"></script>
而且在主HTML文件中添加
<script src="packages/browser/interop.js"></script>
在当Dartium执行它正常工作。 当我把它编译成JavaScript但它给出了一个错误
Uncaught NoSuchMethodError : method not found: 'Symbol("testfunction")'
Receiver: Instance of 'Proxy'
Arguments: [] js_helper.dart:870
Stack Trace:
Error
at Object.wrapException (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:4632:13)
at Proxy.Object.noSuchMethod$1 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:33708:13)
at Proxy_noSuchMethod_closure.call$0 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:109612:46)
at Object.Proxy.static.Proxy__forward (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:109581:45)
at Proxy.noSuchMethod$1 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:109492:14)
at Proxy.Object.testfunction$0 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:56090:17)
at ClickCounter.increment$0 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:7080:50)
at CachedInvocation.invokeOn$2 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:6221:28)
at JsInstanceMirror._invoke$4 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:12998:35)
at JsInstanceMirror.invoke$3 (http://127.0.0.1:3030/testrun/out/web/testrun.html_bootstrap.dart.js:12963:17)