一、app向webview发送数据(传参),在index.vue页面

1、通过url传参<view class="html-box">    <web-view :src="'../../../hybrid/html/viewContract/index.html?data=' + obj" @message="getMessage" ref="wv"></web-view></view>2、通过evalJS("uniEvent(`${params}`)")data() {    return {        currentWebview: null,        obj: null    }    },onLoad() {    const self = this;    self.currentWebview = self.$scope.$getAppWebview().children()[0]    //传递大量数据    self.currentWebview.evalJS(`getParams(${JSON.stringify(res)})`)},methods: {    saveContract() {//app通过事件向html发送数据        const self = this;        self.currentWebview.evalJS("uniEvent('saveContract')");        },}

二、webview接管app发来的数据(传参),在/hybrid/html/viewContract/index.html页面

1、通过url接管参数<script type="text/javascript">    console.log('接管url参数', decodeURIComponent(location.href.split('data=')[1]))</script>2、通过evalJS定义的办法接管参数<script type="text/javascript">    let dianziHetong = null;    window.getParams = (data) => {          console.log("webview外部:", data)          dianziHetong = data          console.log(dianziHetong)    }    window.uniEvent = function(data) {        console.log('app发来的数据', data)    }</script>

三、webview向app发送数据(传参),在/hybrid/html/viewContract/index.html页面

1、通过uni.postMessage()<script src="../js/uni-webview.js"></script><script type="text/javascript">    document.addEventListener('UniAppJSBridgeReady', function() {        uni.postMessage({            data: {                msg: 'saveContract',                content: editor.txt.html()            }        });    })</script>

四、app接管webview发来的数据(传参),在index.vue页面

1、通过绑定事件getMessage获取getMessage(e) {  console.log('接管webview发来的数据', e.detail)},