### [浅析小程序中什么是behaviors?怎么创建和使用?](https://www.prosaas.cn/article/16296) **Published:** 2022-02-14T11:53:04 **Author:** 5201314 **Excerpt:** 什么是behaviors?下面本篇文章带大家了解一下小程序中自定义组件的 behaviors,介绍一下创建be… 什么是behaviors?下面本篇文章带大家了解一下小程序中自定义组件的 behaviors,介绍一下创建behaviors,并导入与使用的方法,希望对大家有所帮助! ![](https://img.php.cn/upload/article/000/000/024/620a422714627350.jpg) ### **什么是 behaviors** behaviors 是小程序中用于实现组件代码共享的特性,作用类似 Vue.js 中的 mixins。比如在多个组件中,有一部分代码是完全一样的,我们没有必要每个组件写一遍,为了方便,我们可以把这部分代码封装出来,放在 behaviors 中进行共享,谁用到这部分代码,直接引用就可以生效 * * * ### **behaviors 的工作方式** - 在小程序中,每个 behaviors 都可以包含一组属性、数据、生命周期和方法。组件引用它时,它的属性、数据和方法会被合并到组件中。 - 每个组件中可以引用多个 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` | 可用的节点 | 类型 | 是否必填 | 描述 | | --- | --- | --- | --- | | properties | Object Map | 否 | 同组件的属性 | | data | Object | 否 | 同组件的数据 | | methods | Object | 否 | 同自定义组件的方法 | | behaviors | Sting Array | 否 | 引用其它的 behaviors | | created | Function | 否 | 生命周期函数 | | attached | Function | 否 | 生命周期函数 | | ready | Function | 否 | 生命周期函数 | | moved | Function | 否 | 生命周期函数 | | detached | Function | 否 | 生命周期函数 | * * * ### **同名字段的覆盖和组合规则** 组件和它引用的 behaviors 中可以包含同名的字段,此时可以参考以下三种同名的处理规则 - 同名的数据字段 (`data`) - 若同名的数据字段都是对象类型,会进行对象合并 - 其余情况会进行数据覆盖,覆盖规则: 组件 > 父 behaviors > 子 behaviors 、靠后的 behaviors > 靠前的 behaviors(优先级高的覆盖优先级低的,最大的优先级最高) - 同名的属性(`properties`)或方法(`methods`) - 若组件本身有这个属性或方法,则组件的属性或方法会覆盖 behaviors 中的同名属性或方法 - 若组件本身无这个属性或方法,则在组件的 behaviors 字段中定义靠后的 behaviors 的属性或方法会覆盖靠前的同名属性或方法 - 在上一条基础上,若存在嵌套引用 behaviors 的情况,规则是:父 behaviors 覆盖 子 behaviors中同名的属性或方法 - 同名的生命周期函数 - 对于不同生命周期函数之间,遵循组件生命周期函数的顺序 - 对于同种生命周期函数,遵循如下规则 - behaviors 优先于组件执行 - 子 behaviors 优先于父 behaviors执行 - 靠前的 behaviors 优先于靠后的 behaviors 执行 - 如果同一个 behaviors 被一个组件多次引用,它会定义生命周期函数只会被执行一次 【相关学习推荐:小程序开发教程】 以上就是浅析小程序中什么是behaviors?怎么创建和使用?的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 后端开发 ---