Не совсем понятно, о чем вы спрашиваете, но я думаю, вы спрашиваете, как вызывать произвольные методы для объекта 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();
}