关于微信小程序原生组件与uniApp混合开发过程遇到的问题与解决方式

Posted 言午子虚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于微信小程序原生组件与uniApp混合开发过程遇到的问题与解决方式相关的知识,希望对你有一定的参考价值。

前言:

  在实际开发过程中,尤其是小程序的开发,我们常常会遇到一些在文档中解决不了的问题,在这里,我就浅谈一下我遇到的一些问题

1.小程序的构建框架是uni-app,却突然被要求用原生的微信小程序代码来开发,到最后要整合到uni-app里面

这个整合问题,uni-app官网就有解决方式,这里就不多说,直接上链接

https://uniapp.dcloud.net.cn/tutorial/miniprogram-subject.html

2.整合之后,就轮到传参问题了,本着能省事与提高开发效率,于后期方便维护整改,在这里,我是直接要传到微信原生组件的数据直接丢在集合里面,在微信组件那边直接从集合里面拿我们要传过去的数据

uni-app页面

<template>
  <
view class="foot-box">   <view-xxx :xxxList="datalist"/>   </view>
</template>
<script>
  export default
    data()
      return
        xxxList:
          \'name\': \'张三\',
          \'age\': 16
        
      
    
  
</script>

微信组件

  Component(
  /** * 组件的属性列表 */ properties: xxxList: Object ,
 attached: function ()
   console.log(this.properties.
xxxList)
 ,
 data:,
 methods:

这样,我们在uni-app的vue页面就把我们想要传给微信原生组件的数据给传递过去了

3.为了后期的维护方便,我们都会写一个公用的api.js文件,这个文件里面存储的是接口的地址,为了后期维护便利,本人采用的是将所有的请求都写在引用组件的父页面下,而不在组件里面调用请求。

但是,在这里我们要注意,由于是混合开发,uni-app里面的一些js写法与微信组件原生的写法不一样!!!,所以在各自的文档中并没有提及在整合其他组件时,组件调用页面的函数,经过本人踩坑,去网上收集资料,弄出一个可行的方式

废话不多说,上示例

uniapp页面

<template>
  <view class="foot-box">
     <view-xxx :xxxList="datalist"  v-on:brool = "getfunction" />
  </view>
</template>
<script>
  export default 
    data() 
      return 
        xxxList:
          \'name\': \'张三\',
          \'age\': 16
        
      
    ,
            methods:
                getfunction()
                     console.log(11111)
                     
            
  
</script>                                                                                            

微信组件js页面

  /**
   * 组件的属性列表
   */
  properties: 
    xxxList: Object
  ,

  /**
   * 组件的初始数据
   */
  data: ,
  /**
   * 组件的方法列表
   */
  methods: 
  //组件页面上的点击事件 btngoToOtherPage: function(e) this.triggerEvent("brool",data) , )

这样,我们就能在uni-app里面建一个专门存放api的文件夹,便于后期维护

关于uni-app引用微信组件导致的样式变形,可以在网上搜寻 微信组件样式穿透  ,结合微信官方给出的文档中的 样式隔离 ,就可以解决

以上,就是本人分享的一些开发经验,希望能帮助到各位遇到和我一样难题却找不到解决思路的人

uni-app 引用 微信小程序原生自定义组件

参考技术A 参考官方文档: https://uniapp.dcloud.io/frame?id=小程序自定义组件支持

以上是关于关于微信小程序原生组件与uniApp混合开发过程遇到的问题与解决方式的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序原生工程转uni-app工程

uniapp中$refs不支持(微信小程序)

现成组件,详细教程:Uniapp去除微信小程序顶部导航栏,但保留标题和返回按钮;组件经多次调优,近乎完美

原生微信小程序转化uniapp项目的神操作

微信小程序(或uniapp)引入腾讯视频插件播放视频

uniapp中使用微信小程序custom-tab-bar