小程序怎么创建和使用behaviors?

来源:网站建设 文章作者:dushilianren.cn 2605人浏览

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

小程序怎么创建和使用behaviors?

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

什么是 behaviors

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


behaviors 的工作方式

  • 在小程序中,每个 behaviors 都可以包含一组属性、数据、生命周期和方法。组件引用它时,它的属性、数据和方法会被合并到组件中。

  • 每个组件中可以引用多个 behaviors ,每个 behaviors 之间也可以相互引用


behaviors 的创建

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

1

2

3

4

5

6

7

8

9

10

11

12

//使用 module.exports 将 behavior 实例对象共享出去

module.exports = Behavior({

     

    //私有数据节点

    data: { },

     

    //属性节点

    properties: { },

     

    //事件处理

    methods: {  }

})


behaviors 的导入与使用

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

//1.使用 `require()` 导入需要的自定义 behaviors 模块

const myBehaviors = require("../../behaviors/behaviors")

 

Component({

 

  //2. 将导入的 behaviors 实例对象,挂载到 behaviors数组的节点中便可以使用

  behaviors: [myBehaviors],

   

  properties: {

    //...

  }

   

  //其他代码...

})


behaviors 中所有可用的节点

比较常用的有 propertiesdatamethodsbehaviors

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

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

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

  • 同名的数据字段 (data

    • 若同名的数据字段都是对象类型,会进行对象合并

    • 其余情况会进行数据覆盖,覆盖规则: 组件 > 父 behaviors > 子 behaviors 、靠后的 behaviors > 靠前的 behaviors(优先级高的覆盖优先级低的,最大的优先级最高)

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

    • 若组件本身有这个属性或方法,则组件的属性或方法会覆盖 behaviors 中的同名属性或方法

    • 若组件本身无这个属性或方法,则在组件的 behaviors 字段中定义靠后的 behaviors 的属性或方法会覆盖靠前的同名属性或方法

    • 在上一条基础上,若存在嵌套引用 behaviors 的情况,规则是:父 behaviors 覆盖 子 behaviors中同名的属性或方法

  • 同名的生命周期函数

    • behaviors 优先于组件执行

    • 子 behaviors 优先于父 behaviors执行

    • 靠前的 behaviors 优先于靠后的 behaviors 执行

    • 对于不同生命周期函数之间,遵循组件生命周期函数的顺序

    • 对于同种生命周期函数,遵循如下规则

    • 如果同一个 behaviors 被一个组件多次引用,它会定义生命周期函数只会被执行一次。

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.dushilianren.cn/appnews/119.html

业务咨询

  • 官方微信

    官方微信

  • 商务合作

  • 官方微信

    官方微信

  • Copyright © 2018-2022 小程序开发 APP开发 网站建设 小程序定制 APP定制 All Rights Reserved. 网站地图
    电话咨询:18936104252
    在线客服咨询