Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对包装的js使用dart回调_Javascript_Dart_Angular Dart - Fatal编程技术网

Javascript 对包装的js使用dart回调

Javascript 对包装的js使用dart回调,javascript,dart,angular-dart,Javascript,Dart,Angular Dart,我通过dart:js包装了exif js库 @JS() library exif; import 'package:js/js.dart'; @JS() external PhotoDetails get EXIF; @JS() class PhotoDetails { factory PhotoDetails() { return EXIF; } @JS() extern

我通过
dart:js
包装了exif js库

  @JS()
    library exif;

    import 'package:js/js.dart';

    @JS()
    external PhotoDetails get EXIF;

    @JS()
    class PhotoDetails {
      factory PhotoDetails() {
        return EXIF;
      }

      @JS()
      external bool getData(img, callback);
}
还有一个小飞镖计划:

PhotoDetails photoDetails = new PhotoDetails();
    var fileUploadInputElement = new FileUploadInputElement();
    fileUploadInputElement.onChange.listen((e) => photoDetails.getData(
        fileUploadInputElement.files[0], () {
      print(this);
    }));
它已经被回答了,但是当我这样做的时候,我有一个js错误:
exif.js:351 uncaughttypeerror:callback.call不是一个函数

我试图手动转换以正常工作。但这并没有起到任何作用。对于lambda表达式,情况是一样的

我想你需要
AllowinetOp
AllowinetOpCaptUratis

PhotoDetails photoDetails = new PhotoDetails();
var fileUploadInputElement = new FileUploadInputElement();
fileUploadInputElement.onChange.listen((e) => photoDetails.getData(
    fileUploadInputElement.files[0], allowInteropCaptureThis((self, [_]) {
  print(self);
})));

我不确定您的答案是否是原因,但现在它抛出了
Uncaught未处理的异常:参数不匹配的闭包调用:函数'call'NoSuchMethodError:传递给名为'call'的方法的参数数目不正确Receiver:闭包:()=>动态尝试调用:调用(“FileImpl”的实例)找到:call()#0对象。#noSuchMethod(dart:core patch/Object\u patch.dart:42)#1 Object.noSuchMethod(dart:core patch/Object\u patch.dart:45)
我更新了我的答案(添加了
[\uuu,\uuu]
)。你能试试这是否有任何影响(不同的错误,…)这不是崩溃,但遗憾的是打印一个“”。所以现在我需要更深入地去发现我的错误。非常感谢。请尝试
print(\ux)
而不是
打印(此)
\u
\u
只是未使用变量的名称。你可以用它们的专有名称来代替<代码>[…]是为了使它们成为可选的,因为我不知道尝试传递多少个参数,只使用了其中的两个。我假设第一个是
这个
(不确定,我自己也试了一会儿)是的,这个有效。非常感谢!你能编辑你的答案吗?