使用https://pub.dartlang.org/packages/js接口一个js类以这种方式,做工精细:JS包 - 界面对象
@JS()
class ObjJS {
external ObjJS();
external String fullName();
}
现在我要揭露在其他类中的方法,所以车费我只有解决了这个用重复的方法。这会起作用,但会增加,当添加更多方法时。需要的是某种混合或继承,但不被这个互操作类接受。 jselem
是图书馆名称
class ObjDart {
jselem.ObjJS _objJS = new jselem.ObjJS();
String fullName(){
return _objJS.fullName();
}
}
有没有更优雅的方法来解决这个问题?
更新为了更好地说明
工作的事情,这个问题对于是否有更好的方法来暴露接口Javascript类的方法/属性。上面的例子只是最小的,所以不是说明性的。为了获得更好的插图,请从这里获取ChartDataSet
:https://github.com/google/chartjs.dart/blob/master/lib/chartjs.dart只是为了说明,让我们来说一说,在Dart一侧创建了一个Dart类StreamChartDataSet
,它增加了从url中读取在线数据的功能。由于StreamChartDataSet
不能继承或ChartDataSet
混入上面的解决方案提供了:
class StreamChartDataSet {
ChartDataSet _chartDataSet;
...
String get label => _chartDataSet.label;
set label(fial String v) => _chartDataSet.label(v);
...
}
这许多方法和纯机械的工作。完成此操作后,只希望ChartSettings
未经修改:-)我正在处理其他事情,但使用Charjs.dart进行说明。
我不明白是什么问题。 –
嗨,首先,问题中的链接是错误的,现在已更正。这涉及到js 0.6包,而不是dart:js。最小的例子并不是说明性的,所以我尝试了一个,希望更具说明性。 –