1.什么是 behaviors
behaviors 是小程序中,用于实现组件间代码共享的特性,类似于 Vue.js 中的 “mixins”。
2.behaviors 的工作方式
每个 behaviors 可以包含一组属性、数据、生命周期函数和方法。组件引用它时,它的属性、数据和方法会被合并到组件中。
每个组件可以引用多个 behaviors,behaviors 也可以引用其它的 behaviors。
3.创建 behaviors
// my-behavior.js 文件
// 调用 Behavior() 方法,创建实例对象
// 并使用 module.exports 将 behavior 实例对象共享出去
module.exports = Behavior({
// 属性节点
properties: {},
// 私有数据节点
data: {
username: 'zs'
},
// 事件处理函数和自定义方法节点
methods: {}
})
// 组件
const myBehavior = require('../../behaviors/my-behavior')
Component({
...,
behaviors: [myBehavior],
})
// 组件
<view>
<text>在 behavior 中定义的用户名:{{ username }}</text>
</view>
4.behavior 中所有可用的节点
// 调用 Behavior() 方法,创建实例对象
// 并使用 module.exports 将 behavior 实例对象共享出去
module.exports = Behavior({
// 属性节点
properties: {},
// 私有数据节点
data: {},
// 事件处理函数和自定义方法节点
methods: {},
// 引入其它的 behavior
behaviors: [],
// 生命周期
lifetimes: {
created() {},
attached() {},
ready() {},
moved() {},
detached() {}
}
})
5.同名字段的覆盖和组合规则
(1)同名的数据字段 data
(2)同名的属性 properties 或 方法 methods
(3)同名的生命周期函数
详细的覆盖和组合规则参考文档: