jiangchengfeiyi-xiaochengxu/uni_modules/zp-mixins/readme.md
2025-04-02 23:45:33 +08:00

108 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# zp-mixins
本插件,基本无法单独使用。
为方便miniprogram-to-uniapp(小程序转uniapp项目)工具后续升级,特单独摘出做成插件,便于后续更新。
注意:
1.本插件仅限于miniprogram-to-uniapp(小程序转uni-app项目)转换工具使用,
2.如果是新项目或uni-app项目建议还是使用vue/uni-app它自身支持的方式实现效率更高些。
3.目前仅支持vue2/vue3的options写法。至于setup因其天生弱化mixin也无this建议直接import导入按需使用吧~
# 安装
点击右侧 “使用 HBuilderX 导入插件” 按钮,并选择对应项目。
# 使用
在main.js文件里面增加引用即可全局使用这些函数如下所示
```
import App from './App'
// 添加zpMixins
import zpMixins from '@/uni_modules/zp-mixins/index.js'
// #ifndef VUE3
import Vue from 'vue'
Vue.use(zpMixins)
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
app.mixin(zpMixins)
return {
app
}
}
// #endif
```
注意vue3项目仅支持Options API方式(setup API写法有点不同不支持这种方式使用建议直接通过import引入使用)。
# 功能介绍
## pageLifetimes(组件所在页面的生命周期)
处理组件里的pageLifetimes
## clone(深拷贝)
深拷贝的简单版本,未处理循环引用。
## handleDataset
用于处理dataset
在自定义组件的事件里是获取不到e.currentTarget.dataset的
因此收集data-参数,手动传进去
## html2Escape 普通字符转换成转义符
用于替换wxParse为mp-html时使用
## escape2Html 转义符换成普通字符
暂未用上
## parseEventDynamicCode
解析事件里的动态函数名,这种没有()的函数名在uniapp不被执行
比如:<view bindtap="{{openId==undefined?'denglu':'hy_to'}}">立即</view>
## getTabBar
实现小程序自定义组件的this.getTabBar().setData()函数
## getRelationNodes
获取组件间关系this.getRelationNodes()
注意:
1.须与p-f-unicom配合使用
2.并不能与小程序的getRelationNodes相提并论因为底层实现不一样
## selectComponent
## selectAllComponents
抹平各平台差异实现类似于小程序的selectComponent和selectAllComponents函数。
使用方式与小程序一致。
新项目建议还是使用ref这种方式获取组件实例。
## setData
1.实现setData函数让uni-app也能支持使用setData函数。
2.实现微信“简易双向绑定”
注意本函数仅为小程序转换uniapp项目所作的支撑如uni-app项目里最好还是使用this.xx这种方式。