在微信小程序中我们为了方便项目的开发。减少没必要的重复代码,往往通过组件来进行开发,将能够重使用的模块或功能封装成一个组件,那么,当我们在使用的时候只需要引入传值就可以了,同样也可以组件里面放组件,开始套娃。可能有的同学会问,什么是组件呢,组件在我看来就是一个独立的模块,可以看成一个跟小的项目,他会根据你给的值,呈现不同的状态,大家在写的时候,尽量减少组件的逻辑判断,组件时为了便捷开发,不是换个地方继续写逻辑判断,加油!!!
一、微信小程序组件语法说明
讲解一下组件常见的语法及其功能,可以更加快速的掌握组件的开发。组件生命周期 | 微信开放文档
// pages/sonn/sonn-1/sonns.js
Component({
/**
* 组件的属性列表
*/
properties: {//用来接收父组件传递过来的参数
item:{//父组件传递参数
type:Object,//用来判断接收参数的类型
value:""//参数默认值
}
},
/**
* 组件的初始数据
*/
data: {//定义数据
},
/**
* 组件的方法列表
*/
methods: {//用来自定义方法,可以在这里通过自定义的方法去触发父组件传递过来的方法,可以通过方法给父组件传值
},
lifetimes:{//定义生命周期方法
//在组件实例进入页面节点树时执行,可以在页面初始化的时候做一些相关逻辑和数据的更改
attached(){
},
//在组件实例被从页面节点树移除时执行,可以进行一些善后操作,参数赋值,关闭定时器等
detached(){
}
},
//页面初始化,可以看官网了解,地址在上面
created(){
},
//组件所在页面的生命周期,可以看官网了解,地址在上面
pageLifetimes:{
show(){
},
resize(e){
}
}
})
二、微信小程序组件监听器的使用
开发中可能会根据父组件的数据去控制子组件的方法或数据,会发现父组件数据改变了,子组件没变化。
properties: {
item:{
type:String,
value:"",
observer:function(newVal,oldVal){
console.log(newVal,oldVal);
}
},