当前位置: 首页 > news >正文

微信小程序+Taro 混编,Taro 使用微信原生 behaviors

最近有一个小程序项目,因为一些原因项目架构选择了微信小程序原生+Taro 混编的方式进行开发,在开发的过程中发现 Taro 不支持使用原生的 behaviors 特性,因为混编的原因项目当中已有原生页面在使用 behaviors,所以需要一个方案在不影响其他页面的基础上使 Taro 也能使用这一特性。

behaviors 除了有类似 Mix 的效果,还有生命周期的封装性。所以咱们考虑的方向就是实现这两点就可以了。

最终以挂载一个空的原生组件(它使用了 behaviors)到 Taro 页面做为中转的方式解决了这一棘手的问题。通过中转组件就可以在 Taro 页面调用到 behaviors 的方法,以及使用 behaviors 生命周期的封装。

switchAccountBehaviors.js:

export default Behavior({pageLifetimes: {show: function () {this.judgeSwitchAccountRefresh();}},methods: {const judgeSwitchAccountRefresh = () => {// do...},const doSome = () => {// do...}}
});

wxml 为空的中转组件,路径:@/behaviors/components

import switchAccountBehaviors from "@/behaviors/switchAccountBehaviors";Component({properties: {},data: {},behaviors: [switchAccountBehaviors],methods: {}
});

Taro 页面的 index.config.js:

export default ({usingComponents: {// 定义需要引入的第三方组件// 1. key 值指定第三方组件名字,以小写开头// 2. value 值指定第三方组件 js 文件的相对路径"behaviors-component": "@/behaviors/components",}
});

Taro 页面的 index.jsx

// Taro 页面调用 behaviors 的方法
getCurrentInstance()?.selectComponent("#behaviors-component")?.doSome();render() {...return (<>...<behaviors-component id="behaviors-component" /> </>)
}
http://www.lryc.cn/news/143280.html

相关文章:

  • b树/b+树、时间轮、跳表、LSM-Tree
  • Unity OnDrawGizmos的简单应用 绘制圆形
  • Uniapp笔记(四)uniapp语法3
  • leetcode做题笔记105. 从前序与中序遍历序列构造二叉树
  • Python里的列表List求和
  • 启动docker容器的几种方法和注意事项(docker-compose,dockerfile)
  • bash: conda: command not found
  • Leetcode-每日一题【剑指 Offer 36. 二叉搜索树与双向链表】
  • ctfshow-萌新专属红包题
  • 谷歌面试-扔鸡蛋
  • Unity血条制作
  • vue,uniapp生成二维码
  • 分类预测 | MATLAB实现SSA-CNN-SVM基于麻雀算法优化卷积支持向量机分类预测
  • STM32启动模式详解
  • go语言中的切片
  • HTML-常见标签、HTML5新特性
  • 微信有自己的“知乎”,微信问一问来了!
  • [MyBatis系列③]动态SQL
  • 开始MySQL之路—— DDL语法、DML语法、DQL语法基本操作详解
  • Java“牵手”天猫整店商品API接口数据,通过店铺ID获取整店商品详情数据,天猫店铺所有商品API申请指南
  • 用AI重构的钉钉,“钱”路在何方?
  • 批量根据excel数据绘制柱状图
  • 浅谈 Java 中的 Lambda 表达式
  • 闭包的概念
  • openGauss学习笔记-52 openGauss 高级特性-LLVM
  • MySQL 8.0字符集校正
  • 软考:中级软件设计师:数据库恢复与备份,故障与恢复,反规范化
  • Unbutu系统-Docker安装、JDK环境配置,Docker常用指令、Docker安装MySQL、Redis、Tomcat、Nginx,前端后分离项目部署
  • Python绘图系统10:在父组件中使用子组件的函数
  • 【Linux的成长史】Linux的发展史