前言
Flutter作为壳,以WebView的形式加载web应用,需要用到或多或少的相互发消息,涉及到JS与原生的互相发消息~
Vue向Flutter发送消息
Vue端,使用postMessage实现,直接在Vue代码中需要向原生发送消息的地方添加,代码如下:
1 | /// methodName:即桥接的方法名,在Flutter端的JavaScriptChannel中的name一致 |
Flutter端,通过JavascriptChannel回调接收JS端传过来的消息,代码如下:
1 | JavascriptChannel( |
Flutter向Vue发送消息
Flutter端,使用evalJavascript实现,代码如下:
1 | /// webviewPlugin:为使用的三方库,此处为flutter_webview_plugin实例 |
Vue端,定义与Flutter端一致的方法,并在mounted()中挂载该方法,代码如下:
1 | mounted() { |