zoukankan      html  css  js  c++  java
  • uniapp与webview之间的相互传值

    1.uni-app 如何发送数据到 H5? 其实很接单、在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中:

    <template>
    	<view class="advertisement" style=" 100%;">
    		<web-view :src="url" @message="message"></web-view>
    	</view>
    </template>
    
    <script>
    export default {
    	data() {
    		return {
    			url:'/hybrid/html/local.html?data='
    		};
    	},
    	onLoad(data) {
              //这里对要传入到webview中的参数进行encodeURIComponent编码否则中文乱码 this.url+=encodeURIComponent(data.data) }, mounted() {}, methods: { message(event){ console.log(event.detail.data); } } }; </script> <style scoped="scoped" lang="scss"> @import './advertisement.scss'; </style>

      那么在 H5 中是如何接收值得呢?

    console.log(getQuery('data'));  //获取 uni-app 传来的值
                
                
                //取url中的参数值
                function getQuery(name) {
                    // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
                    let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
                    let r = window.location.search.substr(1).match(reg);
                    console.log(r);
                    if(r != null) {
                        // 对参数值进行解码
                        return decodeURIComponent(r[2]);
                    }
                    return null;
                }

    2.webview向uniapp传值

    <script>
        document.addEventListener('UniAppJSBridgeReady', function() {
            //向uniapp传值
            uni.postMessage({
                data: {
                    action: 'message'
                }
            });
            uni.getEnv(function(res) {
                console.log('当前环境:' + JSON.stringify(res));
            });
        });
    </script>    

    uniapp接受

    //message接受方法

    <template>
        <view class="advertisement" style=" 100%;">
            <web-view :src="url" @message="message"></web-view>
        </view>
    </template>
  • 相关阅读:
    git操作工作流
    http请求发生了两次(options请求)
    npm dose not support Node.js v10.15.3
    数据双向绑定页面无反应(angularjs)
    table样式的下拉框(angularjs)
    vue-router做路由拦截时陷入死循环
    js前台调用lodop打印
    vuejs2.0的生命周期解读
    Promise的一些相关讲解
    JAVA net 笔记
  • 原文地址:https://www.cnblogs.com/lizhao123/p/12005868.html
Copyright © 2011-2022 走看看