原生小程序 之 behaviors ( 类似 mixins混合)

原生小程序 之 behaviors ( 类似 mixins混合)

  • behaviors 作用
    • behaviors 是小程序之中,用于实现组件 间 代码共享的特性,类似vue的mixins

使用 behaviors 共享一些数据

新建一个 behaviors / my-behaviors .js 文件

// 类似 mixins 混合的 代码共享 文件
module.exports = Behavior({
  data:{
    uname:"xzl",
    age:20,
    num:0
  },
  properties:{},
  methods:{
    addNum(){
      this.setData({
        num: this.data.num + 1
      })
    }
  }
})

使用 behaviors 贡献数据

父亲
<!--pages/info/info.wxml-->
<view>
  <test></test>
  <view>
    我是info组件
    {{ age }}
  </view>
</view>
// pages/info/info.js
const MyBehaviors = require("../../behaviors/my-behaviors");
Page({
  behaviors:[MyBehaviors],
  data: {
    age:100
  },
})
// info.json
{
  "usingComponents": {
    "test":"/component/test/test"
  }
}<!--component/test/test.wxml-->
<view>
  <view > 我是 使用混合的uname {{ uname }} - age-{{ age }} </view>
  <view> 我是 num - {{ num }} </view>
  <button bindtap="callAddNum">调用addNum事件</button>
</view>
  // component/test/test.js
  const MyBehaviors = require("../../behaviors/my-behaviors");
  Component({
    behaviors:[MyBehaviors],
    properties: {
    },
    data: {
    },
    methods: {
      callAddNum(){
        // 调用 里面的方法
        this.addNum()
      }
    },
  })

  • 效果
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抖音小程序中的behaviors是一种行为的定义方式,可以将一些常用的行为抽象出来,然后在多个组件中复用。通过behaviors,可以在组件中定义一些公共的属性、方法和生命周期函数,然后在需要使用这些行为的组件中引用该behaviors。引用\[1\]中的文档提供了详细的步骤来配置behaviors。在父组件的js文件中,可以定义一个函数,并通过自定义事件的形式传递给子组件\[2\]。在子组件的js文件中,可以通过调用this.triggerEvent()方法将数据发送到父组件\[2\]。在父组件的js文件中,可以通过e.detail获取子组件传递过来的数据\[2\]。此外,可以使用this.selectComponent()方法获取子组件的实例对象,从而直接访问子组件的任意数据和方法\[2\]。在小程序组件中,可以使用data节点定义组件的私有数据,methods节点定义事件处理函数和自定义方法,properties节点定义组件的对外属性\[3\]。data更倾向于存储组件的私有数据,而properties更倾向于存储外界传递到组件中的数据\[3\]。可以使用setData方法修改properties的值\[3\]。此外,小程序组件还支持数据监听器,用于监听和响应属性和数据字段的变化\[3\]。通过定义数据监听器,可以在属性或数据字段发生变化时执行特定的操作\[3\]。 #### 引用[.reference_title] - *1* [小程序 | 案例---自定义tabBar](https://blog.csdn.net/muziqwyk/article/details/127325168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [小程序的自定义组件](https://blog.csdn.net/m0_58190023/article/details/129699536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值