微信小程序

注册组件

  • 创建组件
    1. 创建components文件夹
    2. 创建tabs和list文件夹
    3. 右键新建Component
  • 使用组件
    1. 找到页面的.json文件
    2. 在usingComponents选项下注册组件
javascript 复制代码
//1.key为当前组件在该页面中的标签名
//2.value为组件的代码路径
{
  "usingComponents": {
    "navigation-bar": "/components/navigation-bar/navigation-bar"
  }
}

组件的生命周期

组件的生命周期应该被定义在lifetimes中,而方法必须要放入到methods中。

组件的生命周期一共有三个:

  1. created :组件实例刚刚被创建好。此时还不能调用setData
  2. attached: 组件完全初始化完毕、进入页面节点树后。绝大多数初始化工作可以在这个时机进行
  3. detached:在组件离开页面节点树后
javascript 复制代码
data:{},
//组件中的方法必须定义到methods选项中
methods:{},
//组件生命周期
lifetimes:{
//组件完全初始化完毕、进入页面节点树后
	attached(){
	}
}

监听器

通过数据监听器:observers

javascript 复制代码
data:{},
//组件中的方法必须定义到methods选项中
methods:{},
observers:{
	//key:要监听的数据
	//value:数据变化时,调用的函数 
	active:function(val){
		//val变化之后的值 
		
	}
}

组件传递数据方式

  1. 父子关系
    1. 父向子传参
javascript 复制代码
//子组件:通过proberties声明要从父组件中接收的数据
properties:{
	tabId:String
}
//父组件:通过自定义属性的形式传递数据,以子组件中定义的key为属性名,以要传递的数据为属性值 
<list tabId="{{tabSelectId}}"
  1. 子向父传参
javascript 复制代码
//子组件:通过triggerEvent方法发送一个通知,通知父组件接收数据。
//方法的第一个参数为:通知名
//方法的第二个参数为:要传递的数据
this.triggerEnent('change',{
	id
})
//父组件:通过bind监听子组件中发送的通知
//bind后的内存为子组件发送的通知名,表达式为接收到该通知时所触发的方法
<tabs bind:change="onTabChange"></tabs>
//方法触发后可以通过e.detail的形式获取子组件传递过来的数据对象
onTabChange(e){
	const {id} = e.detail;
	this.setData({
		tabSelectId:id
	})
}
  1. 兄弟关系
    兄弟组件之间传参:兄弟关系===没有关系,所以想要完成兄弟之间的传参,就要为它们建立关系,找一个中间人,这个中间人一般为统一的父组件
    【A兄弟组件】传递给父组件(中间人)
    中间人再把数据传给【B兄弟组件】
相关推荐
lichenyang4533 小时前
从零到一:用 Taro + React 搭建数据采集小程序
react.js·小程序·taro
黄华SJ520it15 小时前
139小程序商城模式开发
小程序·软件需求·系统开发
Greg_Zhong15 小时前
详细说下小程序中使用canvas的体验
小程序·canvas绘制·canvas绘制内容溢出·绘制内容模拟器不正常·绘制内容真机正常
小羊Yveesss18 小时前
2026 多门店小程序如何提升效率?连锁门店降本增效实操指南,数字化转型必看
大数据·小程序
2501_9419820518 小时前
提高私域转化率:如何通过 API 自动发送小程序卡片?
小程序·机器人·自动化·企业微信·rpa
码视野1 天前
完全开源-支持二开-可做毕业论文-家政服务预约小程序
小程序
码视野1 天前
全开源-健身运动预约小程序 — 从需求到原型的全栈实践
小程序
游戏开发爱好者81 天前
深入理解iOSTime Profiler:提升iOS应用性能的关键工具
android·ios·小程序·https·uni-app·iphone·webview
tianxiaxue11 天前
微信小程序如何跟企微互通
微信小程序·小程序·企业微信
Greg_Zhong1 天前
微信小程序中canvas绘制面积图,解决手机和模拟器都能渲染不溢出问题
微信小程序·小程序canvas绘制面积图