PHP前端开发

浅析小程序中什么是behaviors?

百变鹏仔 2周前 (03-11) #前端问答
文章标签 程序

什么是behaviors?下面本篇文章带大家了解一下小程序中自定义组件的 behaviors,介绍一下创建behaviors,并导入与使用的方法,希望对大家有所帮助!

什么是 behaviors

behaviors 是小程序中用于实现组件代码共享的特性,作用类似 Vue.js 中的 mixins。比如在多个组件中,有一部分代码是完全一样的,我们没有必要每个组件写一遍,为了方便,我们可以把这部分代码封装出来,放在 behaviors 中进行共享,谁用到这部分代码,直接引用就可以生效


behaviors 的工作方式


behaviors 的创建

调用 behaviors(Object Object) 方法就可以创建一个共享的 behaviors 实例对象,供所有的组件使用

//使用 module.exports 将 behavior 实例对象共享出去module.exports = Behavior({        //私有数据节点    data: { },        //属性节点    properties: { },        //事件处理    methods: {  }})

behaviors 的导入与使用

在组件中,使用 require() 方法导入需要的 behaviors,挂载后即可访问 behaviors 中的数据或方法

//1.使用 `require()` 导入需要的自定义 behaviors 模块const myBehaviors = require("../../behaviors/behaviors")Component({  //2. 将导入的 behaviors 实例对象,挂载到 behaviors数组的节点中便可以使用  behaviors: [myBehaviors],    properties: {    //...  }    //其他代码...})

behaviors 中所有可用的节点

比较常用的有 properties、data、methods、behaviors

可用的节点类型是否必填描述
propertiesObject Map同组件的属性
dataObject同组件的数据
methodsObject同自定义组件的方法
behaviorsSting Array引用其它的 behaviors
createdFunction生命周期函数
attachedFunction生命周期函数
readyFunction生命周期函数
movedFunction生命周期函数
detachedFunction生命周期函数

同名字段的覆盖和组合规则

组件和它引用的 behaviors 中可以包含同名的字段,此时可以参考以下三种同名的处理规则

  • 同名的属性(properties)或方法(methods)

  • 同名的生命周期函数

  • 如果同一个 behaviors 被一个组件多次引用,它会定义生命周期函数只会被执行一次
  • 【相关学习推荐:小程序开发教程】