如何将文件列表绑定到Dart中的可观察文件?

如何将文件列表绑定到Dart中的可观察文件?,dart,polymer,dart-polymer,Dart,Polymer,Dart Polymer,我正在尝试将文件上传与Dart&Polymer结合使用。考虑以下文件: my upload.html 我的上传。dart @CustomTag('my-upload')) 类MyUpload扩展了聚合关系{ @可观察的文件列表文件; MyUpload.created():super.created(); 无效上载文件(事件、详细信息、目标){ 打印(文件); } } uploadFiles中的print语句始终打印空值。看起来,文件列表没有绑定到可观察对象。有没有办法解决这个问题?我必须使

我正在尝试将文件上传与Dart&Polymer结合使用。考虑以下文件:

my upload.html


我的上传。dart

@CustomTag('my-upload'))
类MyUpload扩展了聚合关系{
@可观察的文件列表文件;
MyUpload.created():super.created();
无效上载文件(事件、详细信息、目标){
打印(文件);
}
}
uploadFiles中的print语句始终打印空值。看起来,文件列表没有绑定到可观察对象。有没有办法解决这个问题?我必须使用绑定文件以外的其他语句吗

当然,有一个解决办法,但我认为它没有抓住要点:

我的上传。dart

@CustomTag('my-upload'))
类MyUpload扩展了聚合关系{
FileUploadInputElement上传器;
MyUpload.created():super.created(){
uploader=$['uploader'];
}
无效上载文件(事件、详细信息、目标){
打印(uploader.files);
}
}

有什么想法吗?

文件列表
不可见。 使用
@observable
注释,您只能观察文件是否更改,从而使其指向不同的文件列表,而不是文件列表中的更改

在您的示例中,我看不出有什么令人信服的理由需要一个可观察的文件列表。 你想用它做更多的事情,而不是我们从示例中看到的事情吗

您可以简化代码。我不知道这在您的用例中是否有意义:

@CustomTag('my-upload'))
类MyUpload扩展了聚合关系{
无效上载文件(事件、详细信息、目标){
FileUploadInputElement uploader=$['uploader'];
打印(uploader.files);
}
}
甚至更短

@CustomTag('my-upload'))
类MyUpload扩展了聚合关系{
无效上载文件(事件、详细信息、目标){
打印($['uploader'].files);
}
}