1.官方介绍:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html
2.本次Demo目录结构:
3.page下两个文件夹,一个components,用于存放组件;一个home,为我们的主要页面;
4.components里面两个组件,一个banner,一个news,都是都过右键新建component生成的;
一,基本使用:5.第一步:配置home.json使页面能使用组件;
6.home.json
{"usingComponents":{"news-item":"../components/news/news-item","banner-item":"../components/banner/banner-item"}}7.第二部:使用组件;
8.home.wxml
banner-item/banner-item二,数据绑定:9.home.wxml
news-itemnews-arr"{{newsInfoArr}}"/news-item10.newsInfoArr是页面home里的数据,而news-arr为组件news-item里的对外属性newsArr:
/***组件的属性列表(对外属性)*/properties:{//type表示属性类型、value表示属性初始值、observer表示属性值被更改时的响应函数newsArr:{type:Array,value:'hehe',observer:function(newVal,oldValue){console.log(newVal)console.log(oldValue)}}},/***组件的初始数据(私有数据)*/data:{},11.组件news-item拿到父级给的数据之后,可以进行加工、在页面上展示。
三,节点插入:12.在组件模板中可以提供一个slot节点,用于承载组件引用时提供的子节点。
13.news-item.wxml
viewclass'news'slotname"befor"/slotblockwx:for"{{newsArr}}"wx:key"index"/blockslotname"after"/slot/view14.(*由于这里用了多个solt所以需要在news-item.js里面设置下,单个无需设置)
options:{multipleSlots:true}15.home.wxml
news-itemnews-arr"{{newsInfoArr}}"viewslot"befor"之前/viewviewslot"after"之后/view/news-item16.效果:
四:事件监听:17.news-item.wxml
18.在每个item里面绑定一个事件ontap
viewclass'news'slotname"befor"/slotblockwx:for"{{newsArr}}"wx:key"index"viewclass'news-list'data-item'{{item}}'data-index'{{index}}'catchtap'onTap'viewimagesrc'http://10.128.5.150:16801/filesystem/download/10/2019/4/2/3fd390c6-6475-47d8-bcc9-452efbe1e9d1.jpg/mic'//viewviewclass'news-info'textclass'news-title'{{item.name}}/texttextclass'news-desc'{{item.desc}}/text/view/view/blockslotname"after"/slot/view19.news-item.js
methods:{onTap:function(e){//detail对象,提供给事件监听函数constmyEventDetail{e:e}//触发事件的选项constmyEventOption{}this.triggerEvent('myevent',myEventDetail,myEventOption)}}20.传递给事件“myevent”,供home页面使用
21.home.wxml
news-itemnews-arr"{{newsInfoArr}}"bind:myevent'onMyEvent'viewslot"befor"之前/viewviewslot"after"之后/view/news-item22.然后在home页触发onMyEvent方法:
onMyEvent(e){constdetaile.detail.e.currentTarget.dataset;wx.showModal({title:'json如下',content:JSON.stringify(detail),})},23.效果:
五:生命周期24.生命周期方法页可以直接定义在Component构造器的第一级参数中,不过还是推荐在lifetimes字段内进行声明,这样优先级最高。
lifetimes:{created(){//在组件实例刚刚被创建时执行},attached(){//在组件实例进入页面节点树时执行},ready(){//在组件在视图层布局完成后执行},moved(){//在组件实例被移动到节点树另一个位置时执行},detached(){//在组件实例被从页面节点树移除时执行},error(err){//每当组件方法抛出错误时执行}}
微信小程序组件化开发-微信小程序组件化开发-微信小程序组件开发
浏览量:2381
时间:
来源:Chameleon_W
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










