微信小程序-行为构建器Behavior的编写

在自定义组件里,当多个自定义组件的js中的外部数据(properties下的变量)都是重复的时候,通常在这种情况,每次编写组件的js时候,都要复制同样的变量到对应的js中,但是这种写法不利于代码的维护和复用性,所以我们采取行为构建器Behavior的方法,把相同的部分也提取出来,这样有便于维护和代码的复用性!

首先在创建一个js文件,beh.js

// 构造器--构造行为
const Beh = Behavior({
  properties: {
  },
  attached:function(){
 
  },
  data:{
 
  },
  methods:{
 
  },
})
 
export {Beh}

接下来,我们去自定义组件中的其中一个组件的js中,进行代码优化改写:

//导入行为构建器  classic-beh.js
import { Beh} from '../beh.js'
Component({
  /**
   * 组件的属性列表
   */
  //继承行为
  behaviors: [Beh],
  properties: {
  },
 
  /**
   * 组件的初始数据
   */
  data: {
    
  },
 
  /**
   * 组件的方法列表
   */
  methods: {
 
  }
})

可以看到我们先是把行为构建器导入(import),然后继承这个行为,behaviors:[Beh],可以看到这时候的properties里面的外部数据是空的,因为全部都被提取到行为构建器中了。

特殊情况下的处理
如果这时候需要继承多个行为构建器:
那么在代码的上方导入之后,然后在数组中隔开,进行继承 behaviors: [classicBeh,B,C,D],
这时候properties里面还要在传一个名字相同但是数据类型不一样的变量时候,那么该如果取舍,
是拿行为构建器的值还是自身的值,根据规则,这时候的自身的值会覆盖掉行为构建器的值!子类会覆盖父类
再来,另外一个情况 数组中三个都有相同的变量,这时候,也还是文件自身的子类会覆盖,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值