使用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。最小的例子並不是說明性的,所以我嘗試了一個,希望更具說明性。 –