Я пишу собственный компонент на основе Leaflet.browser.print, и у меня есть вопрос о том, как сохранить доступ к некоторым объектам, которые я инициализирую в JavaScript.
Как вы можете видеть в приведенном ниже коде, я создаю экземпляр класса LBrowserPrintImport и выполняю скрипт, который инициализирует переменную bp. Эту переменную следует снова использовать в функции Java print(). Но я не нашел никакой информации о том, как его хранить.
Есть ли у вас какие-либо идеи?
Вот мой код:
@NpmPackage(value = "leaflet.browser.print", version = "2.0.2")
@JsModule("leaflet.browser.print/dist/leaflet.browser.print.min.js")
public class LBrowserPrintImport extends Component {
private static final long serialVersionUID = 1L;
public LBrowserPrintImport(
final LMap map,
final LBackendOptions backendOptions
) {
super();
getElement().executeJs("let bp = L.browserPrint($0, $1);", "map", "parameters");
// How to store bp here?
}
public void print() {
getElement().executeJs("bp.print(L.BrowserPrint.Mode.Landscape());");
}
}
🤔 А знаете ли вы, что...
JavaScript можно использовать для манипуляции DOM (Document Object Model), что позволяет изменять содержимое и структуру веб-страницы.