Ответ 1
Нет проблем! см. Вызов Дарта из JavaScript.
В вашем случае:
import 'dart:js' as js;
main() {
String foo() {
return "bar!";
}
js.context['foo'] = foo;
}
Я немного новичок, чтобы стрелять, и пытаясь намочить ноги, написав в нем некоторые библиотечные функции.
В то время как у меня не было проблем с вызовом javascript-функций из дротика, мне бы хотелось, чтобы я мог вызвать функции дрока из javascript, но до сих пор я не очень люблю.
Например, мне бы хотелось показать некоторые основные функции из дротика, например:
main() {
String foo() {
return "bar!";
}
js.scoped(() {
js.context.foo = foo;
});
}
а затем сможете вызвать их из javascript, например:
<script>
window.onload = function() {
alert("foo() = " + foo());
}
</script>
Возможно ли что-то подобное?
Нет проблем! см. Вызов Дарта из JavaScript.
В вашем случае:
import 'dart:js' as js;
main() {
String foo() {
return "bar!";
}
js.context['foo'] = foo;
}
В Dart 1.20 мне пришлось добавить allowInterop()
import 'dart:js' as js;
main() {
String foo() {
return "bar!";
}
js.context['foo'] = allowInterop(foo);
}
В Dart 2.3.0 мне пришлось немного подправить решение, чтобы allowInterop
играть хорошо.
import 'dart:js' as js;
main() {
String foo() {
return "bar!";
}
js.context['foo'] = js.allowInterop(foo);
}