[Dart笔记]Dart与Web对象交互

407 阅读1分钟

Dart与HTML

dart:html

HtmlElement:api.dart.dev/stable/2.9.…

Dart与Javascript

dart:js

TODO

package:js

github.com/woodemi/not…

@JS
library

import 'package:js/js.dart';
import 'package:js/js_utils.dart' as js_util;

@JS()
class Promise<T> {
  external Promise(void executor(void resolve(T result), Function reject));

  external Promise then(void onFulfilled(T result), [Function onRejected]);
}

abstract class Delegate<T> {
  final T _delegate;

  T get delegate => _delegate;

  Delegate(this._delegate);

  T getProperty<T>(dynamic name) => js_util.getProperty(_delegate, name);

  T callMethod<T>(String method, List args) => js_util.callMethod(_delegate, method, args);
}

abstract class EventTargetDelegate extends Delegate<EventTarget> {
  EventTargetDelegate(EventTarget delegate) : super(delegate);

  void addEventListener(String type, EventListener listener, [bool useCapture]) =>
    delegate.addEventListener(type, listener, useCapture);

  void removeEventListener(String type, EventListener listener, [bool useCapture]) =>
    delegate.removeEventListener(type, listener, useCapture);
}

package:js_facade_gen

TODO

参考

官方资料

第三方库

相关文章

相关问答