官方详细文档:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
自定义组件代码:
json部分:
{
"component": true,
"usingComponents": {}
}
WXML部分
<button bindtap="onTap">点击这个按钮将触发“myevent”事件</button>
js部分
Component({
/*** 组件的属性列表*/
properties: {
myProperty: { // 属性名
type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
value: '', // 属性初始值(可选),如果未指定则会根据类型选择一个
observer: function (newVal, oldVal, changedPath) {
// 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串, 如:'_propertyChange'
// 通常 newVal 就是新设置的数据, oldVal 是旧数据
}
},
title: String,
myProperty2: String // 简化的定义方式
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
onLoad: function () {
console.log("onload")
},
// 内部方法建议以下划线开头
_myPrivateMethod: function () {},
onTap(){
this.triggerEvent('click-left');
}
},
pageLifetimes: {
// 组件所在页面的生命周期函数
show: function () { },
}
})
调用组件:
json部分
{
"usingComponents": {
"navbar": "/utils/component/navbar"
}
}
wxml部分
<navbar title="标题" bind:click-left="onClickLeft"></navbar>
js部分
onClickLeft() {
wx.navigateBack()
},