我正在写一个基于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());");
    }
}

推荐答案

您可以将变量附加到某个元素,如组件的根元素,或全局对象,如window:executeJs("window.bp = L.browserPrint($0, $1);

Javascript相关问答推荐

根据总价格对航班优惠数组进行排序并检索前五个结果- Angular HTTP请求

Vega中的模运算符

当点击注册页面上的注册按钮时,邮箱重复

Chart.js 4.4.2,当悬停在一个数据点上时,如何在工具提示中拥有多个数据点/标签?

Angular 中的类型错误上不存在获取属性

Chart.js-显示值应该在其中的引用区域

编辑文本无响应.onClick(扩展脚本)

禁用.js文件扩展名并从目录导入隐式根index.js时,找不到NodeJS导入模块

如何在 Select 文本时停止Click事件?

如何在JAVASCRIPT中临时删除eventListener?

变量在导入到Vite中的另一个js文件时成为常量.

获取';无法解决导入和导入";slick-carousel/slick/slick-theme.css";';错误

从逗号和破折号分隔的给定字符串中查找所有有效的星期几

我想使用GAS和HTML将从Electron 表格中获得的信息插入到文本字段的初始值中

在JavaScript中,有没有一种方法可以迭代字符串的词法标记?

为什么当雪碧的S在另一个函数中时,Phaser不能加载它?

在点击链接后重定向至url之前暂停

如何在单击链接时设置一个JavaScript变量(以打开弹出窗口的特定部分)

正在发出错误的URL请求

使用JAVASCRIPT-使用If和Else If多次判断条件-使用JAVASRIPT对象及其属性