起步
由于之前学习vue源码,在vue源码中学到了如何针对不同的选项参数进行合并,并且为了学以致用,所以就写了一个简单的用于合并微信小程序Page构造数参数的工具函数。因为笔者最近在做微信小程序开发的,我去找了一下,发现微信小程序中好像只有组件拥有一个叫做behaviors用于组件之间的代码复用的选项,对于小程序页面来说并没有类似的mixins这种代码复用机制,便把vue这一套参数合并机制用在微信小程序的Page构造器上,它是一个简单的用于合并微信小程序Page构造器参数的工具函数,用的就是vue的参数合并这一套,不过没vue那么多选项需要合并,只有data和生命周期钩子函数这两个需要合并,不过支持多个mixins选项以及mixins嵌套合并。
github地址:https://github.com/nongcundeshifu/wxPageMixins。喜欢的就点个Star吧。
ps:目前此工具只针对小程序的Page构造器进行参数合并,小程序组件请使用其自带的behaviors进行混入,后续可能出一个通用的,可自定义合并策略函数以及可配置的工具出来吧。
使用
// 引入wxPageMixins
import wxPageMixins from './wxPageMixins.js';
// 引入mixin对象
import mixin from 'mixin.js';
// 在微信小程序中,使用wxPageMixins工具函数合并选项参数
Page(wxPageMixins({
mixins: [mixin],
// other props
}));
案例
testMixin.js
// 导入子mixin对象
import subMixins from './subMixin.js';
export default {
// mixin对象也可以使用mixins字段进行合并
mixins: [subMixins],
// 生命周期钩子函数
onLoad(options) {
console.log(&