微信小程序-behaviors
1.小程序开发概述2.创建第一个小程序3.微信小程序app.json文件4.微信小程序-sitemap.json文件5.微信小程序app.js文件6.微信小程序app.wxss文件7.微信小程序-project.config.json文件8.微信小程序-页面.json文件9.微信小程序-页面.js文件10.微信小程序-组件创建和使用11.微信小程序-组件-.json文件12.微信小程序-组件-.js文件13.微信小程序-WXSS学什么14.微信小程序-WXSS的书写格式15.微信小程序-新增RPX响应式单位16.微信小程序-什么是WXML17.微信小程序-WXML数据绑定18.微信小程序-WXML条件渲染19.微信小程序-WXML的hidden属性20.微信小程序-WXML列表渲染21.微信小程序-WXML列表渲染Key22.微信小程序-WXML包装元素23.微信小程序-WXS的作用和使用24.微信小程序-WXS独立文件25.微信小程序-WXS支持的语法26.微信小程序-小程序事件绑定27.微信小程序-小程序事件冒泡和事件捕获28.微信小程序-事件传递数据29.微信小程序-data和mark30.微信小程序-touches和changedTouches31.微信小程序-案例练习32.微信小程序-view组件33.微信小程序-text组件34.微信小程序-icon组件35.微信小程序-button组件36.微信小程序-image组件37.微信小程序-scrollview38.微信小程序-image组件-选择相册资源案例39.微信小程序-自定义组件40.微信小程序-自定义组件样式隔离41.微信小程序-自定义组件外部样式42.微信小程序-传递数据父传子43.微信小程序-传递数据子传父44.微信小程序-页面访问组件数据和方法45.微信小程序-组件通讯练习46.微信小程序-单个插槽47.微信小程序-多个插槽-具名插槽
48.微信小程序-behaviors
49.微信小程序-双线程渲染模型50.微信小程序-页面生命周期51.微信小程序-页面生命周期方法52.微信小程序-组件生命周期方法53.微信小程序-应用程序生命周期方法54.微信小程序-页面跳转Tabbar55.微信小程序-页面跳转navigator组件56.微信小程序-页面跳转wxAPI57.微信小程序-页面跳转数据传递58.微信小程序-常用弹窗59.微信小程序-Storage60.微信小程序-获取用户位置什么是 behaviors
- behaviors 是用于组件间代码共享的特性,类似于一些编程语言中的 “mixins”
- 每个 behavior 可以包含一组属性,数据,生命周期函数和方法,组件引用它时,它的属性,数据和方法会被合并到组件中,生命周期函数也会在对应时机被调用。每个组件可以引用多个 behavior,behavior 也可以引用其它 behavior。
?> 大白话:用来封装多个组件中相同的冗余代码
新建两个组件,一个叫 c-test,一个为 c-demo,两个组件的内容大致就是有一个 counter
变量,每一个组件中有两个按钮,一个按钮点击对 counter 进行增加,一个对 counter 进行减少,然后我们可以将这种冗余的代码进行使用 behavior 进行封装复用,我这里就没有用案例去引出 behavior 的方式进行讲解了,我只是体现这一下 behavior 这个知识点的运用。
?> myBehaviors.js
// myBehavior.js
export const counterBehavior = Behavior({
data: {
counter: 0
},
methods: {
increase() {
this.setData({counter: this.data.counter + 1});
},
decrease() {
this.setData({counter: this.data.counter - 1});
}
}
});
?> c-test
// components/c-test/c-test.js
import {counterBehavior} from "../../behaviors/myBehaviors";
Component({
behaviors: [counterBehavior]
})
<!--components/c-test/c-test.wxml-->
<text>{{counter}}</text>
<button bindtap="increase">我是c-test按钮 increase</button>
<button bindtap="decrease">我是c-test按钮 decrease</button>
?> c-demo
// components/c-demo/c-demo.js
import {counterBehavior} from "../../behaviors/myBehaviors";
Component({
behaviors: [counterBehavior]
})
<!--components/c-demo/c-demo.wxml-->
<text>{{counter}}</text>
<button bindtap="increase">我是c-demo按钮 increase</button>
<button bindtap="decrease">我是c-demo按钮 decrease</button>
?> index
<!--index.wxml-->
<myTest />
<view/>
<myDemo />
{
"usingComponents": {
"myTest": "/components/c-test/c-test",
"myDemo": "/components/c-demo/c-demo"
}
}
参考文章
官方文档:https://developers.weixin.qq.com/miniprogram/dev/reference/api/Behavior.html
!> 最终 behavior 是将中的内容分别复制了一份放到了对应使用的组件当中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具