uniapp webview h5 執行 uniappjsbridgeready 無用 简体版
原文   原文鏈接

開始時我在真機上測試使用html

<web-view :src="'/hybrid/html/pages/index/index.html?userInfo='+JSON.stringify(userInfo)+'&type='+webViewType" @message="getMessage"></web-view>

這種形式傳參時沒有問題會走UniAppJSBridgeReady 回調可是,離線打包生成app資源在xcode上運行到手機出現不回調vue

由於官方的demo實例中沒有出現問題,由於裏面沒有向webview傳參web

後來發現是傳參問題,不能用下面形式vuex

<web-view :src="'/hybrid/html/pages/index/index.html?userInfo='+JSON.stringify(userInfo)+'&type='+webViewType" @message="getMessage"></web-view>

我改後的
<template>
    <view>
        <!-- <web-view :src="'/hybrid/html/pages/index/index.html?userInfo='+JSON.stringify(userInfo)+'&type='+webViewType" @message="getMessage"></web-view> -->
        <web-view :src="url" @message="getMessage"></web-view>
    </view>
</template>

<script>
    //非父子組件傳值
    import bus from '../../static/js/bus.js';
    import { mapState, mapMutations } from 'vuex';
    export default {
        computed: mapState(['userInfo', 'api','webViewType']),
        data() {
            return {
                url:'',
                fileList:[]
            }
        },
        onLoad(option) {
            console.log(this.webViewType)
            this.url=`/hybrid/html/pages/index/index.html?type=${this.webViewType}&token=${this.userInfo.token}`
        },
        methods: {
            getMessage(event) {
                this.fileList=event.detail.data[0].fileList
                bus.$emit('fileList',this.fileList)
            }
        }
    }
</script>

<style>
</style>

就能夠觸發了api

相關文章
相關標籤/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
本站公眾號
   歡迎關注本站公眾號,獲取更多信息