[英]Calling js from Dart
我該如何從Dart調用這樣的代碼?
$('.datepicker').datepicker();
我知道我可以使用“ package:js / js.dart”包來調用函數,就像這樣
@JS("Plotly.plot")
external plot(DivElement element, List<PlotData> plotData, Margin margin);
...但是在元素上調用函數?
並不是100%清楚您要問的是什么,但是我想您是在問如何在JS對象上調用任意方法。 做到這一點並非易事(最好編寫類型化的接口)。 您有兩種選擇:
package:js/js_util.dart
並調用callMethod
。 @JS()
class
。 首先,您可以編寫以下內容:
import 'package:js/js_util.dart' as js;
void openDatePicker(Object elements) {
js.callMethod(elements, 'datepicker', []);
}
...並非超級優雅(或打字准確),但可以。 我只建議您在確實只需要調用一個方法並且不希望調用其他方法或傳遞復雜參數的情況下執行此操作。
對於后者,您仍然可以使用@JS()
技術。 例如:
@JS()
external JQueryElements $(String selector);
@JS()
// Because this doesn't "really" align to a class in the JS/DOM.
@anonymous
abstract class JQueryElements {
@JS()
external void datepicker();
}
...,您可以像這樣使用它:
void main() {
$('.datepicker').datepicker();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.