JS回调到Vaadin组件
JS callback to Vaadin component
我有一个 JS 组件 (SigPlot),我需要从中读取点击值。我在 VerticalLayout 中实例化了 SigPlot,我还在其中实例化了一个 DIV 以传递给 SigPlot 构造函数。我不确定这是否是一种有效的方法,但它确实有效。
现在我需要阅读 CLICKS,但我无法找到正确的方法来执行此操作。谁能传授一些至理名言?
在我的 VIEW 构造函数中,它使用 addAttachListener 来启动我的 JS 代码。
div.addAttachListener(e->{
e.getUI().getPage().executeJs("myInit([=10=])",div);
});
如何注册点击监听器?
此致
只要它只是一个常规的 DOM 事件侦听器,那么像这样的东西应该可以工作:
div.getElement().addEventListener("click", event -> Notification.show("Clicked"));
如果您需要在更精细的级别上做一些事情,那么您可能希望将回调公开为 @ClientCallable
,然后使用 executeJs
到 运行 一些简短的 JavaScript 片段来设置委托给这些方法的侦听器。
我有一个 JS 组件 (SigPlot),我需要从中读取点击值。我在 VerticalLayout 中实例化了 SigPlot,我还在其中实例化了一个 DIV 以传递给 SigPlot 构造函数。我不确定这是否是一种有效的方法,但它确实有效。 现在我需要阅读 CLICKS,但我无法找到正确的方法来执行此操作。谁能传授一些至理名言?
在我的 VIEW 构造函数中,它使用 addAttachListener 来启动我的 JS 代码。
div.addAttachListener(e->{
e.getUI().getPage().executeJs("myInit([=10=])",div);
});
如何注册点击监听器?
此致
只要它只是一个常规的 DOM 事件侦听器,那么像这样的东西应该可以工作:
div.getElement().addEventListener("click", event -> Notification.show("Clicked"));
如果您需要在更精细的级别上做一些事情,那么您可能希望将回调公开为 @ClientCallable
,然后使用 executeJs
到 运行 一些简短的 JavaScript 片段来设置委托给这些方法的侦听器。