随着企业WAP在**掀起的移动互联网浪潮方兴未艾时,另一场移动互联网的革命之火却挑起了更大的关注度。这场“革命”是以智能手机及智能手机中的APP应用为代表的,相较于WAP站点的不温不火,手机APP拥有强劲的发展势头:以APPLE的App Store 为例,苹果公司于2008年推出AppStore,较初其中只有不到500个APP应用,但在随后的三年时间里,这个数字已经增长到500000,写小程序,累计次数更是高达15,000,微信小店的小程序,000,000次,而且这个数字还在以几何形式增长着。
和页面一样,微信小店小程序,自定义组件也由4个部分组成:axml、js、json、acss。开发者需要在 json 中设置 'component': true,声明这是一个自定义组件。示例:
// /components/customer/index.json
{
'component': true
}
开发者需要使用Component函数,小程序,注册自定义组件。didMount 为渲染后回调,didUpdate 为更新后回调,didUnmount 为删除后回调详见 组件生命周期data 为局部状态,同页面一样可以通过 setData 修改。详见 开发自定义组件-dataprops 为外部传过来的属性,默认属性,后面不可修改.详见 开发自定义组件-propsmethods 为自定义方法。详见 开发自定义组件-methods示例:
// /components/customer/index.js
Component({
mixins: [], // minxin 方便复用代码
data: { x: 1 }, // 组件内部数据
props: { y: 1 }, // 可给外部传入的属性添加默认值
didMount()微信小店小程序, // 生命周期函数
didUpdate()微信小店小程序,
didUnmount()微信小店小程序,
methods: { // 自定义事件
handleTap() {
this.setData({ x: this.data.x + 1}); // 可使用 setData 改变内部属性
},
},
})
自定义组件支持 slot,使用其可以构建出灵活的页面结构。详见开发自定义组件-slot示例: