JavaFX,JavaScript控制台日志记录和框架(Vue.js)

好吧,我正在开发一个基本上是自包含的web应用程序。 Jetty后端通过RESTful Ajax调用与HTML / JS前端进行通信,前端位于JavaFX WebEngine中。

无论如何,我在这个项目中使用了Vue.js。 我已经重定向控制台日志记录使用我已经读了几次相同的方法(请注意我使用Kotlin的后端):

class JavaBridge { fun log(text: String){ AppLogger.webConsole.debug(text) } } //Other code here... val window = engine.executeScript("window") as JSObject val bridge = JavaBridge() window.setMember("java", bridge) engine.executeScript(""" console.log = function(message){ java.log(message); } """) 

所以,这里是我的问题的一个例子,用一些示例JavaScript:

 console.log('This will print to the logs'); new Vue({ el: '#element', methods: { doSomething: function(){ console.log('This will do nothing'); } } }); 

如代码示例所示,从Vue对象中调用console.log()不起作用。 我终于将这个调用包装在一个TryCatch块中,这是我得到的异常消息:

 "java.log is not a function. (In 'java.log(message)', 'java.log' is undefined)" 

我是JavaFX的新手,我只是将它用作前端代码的包装。 有人可以帮我理解为什么会发生这种情况,我需要做些什么来解决这个问题?

谢谢。

编辑:添加了JavaBridge对象添加到“窗口”的代码。