1.我们在上篇博文里面介绍了小程序的template模板,这里介绍一下component组件。我们创建template模板的时候,只创建了wxml和wxss文件,并没有json和js文件,而且数据交换以及事件都是在调用的时候操作。今天介绍的component组件则有自己的业务逻辑,可以看做一个独立的page页面,里面也有js和json文件。简单来说,如果只是展示,使用template就足够了,如果涉及到的业务逻辑交互比较多,那就最好使用component组件了。
2.创建组件
3.和template一样,也是在根目录创建一个存放组件的目录,里面创建二级目录,用于区分不同的组件,然后创建对应的页面文件,如下:
4.组件文件内容
5.我们还是以弹窗为例来介绍。popup.wxml文件:
viewclass"wx-popup"hidden"{{!isShow}}"viewclass'popup-container'viewclass"wx-popup-title"{{title}}/viewviewclass"wx-popup-con"{{content}}/viewviewclass"wx-popup-btn"textclass"btn-no"bindtap'_error'{{btn_no}}/texttextclass"btn-ok"bindtap'_success'class'confirm'{{btn_ok}}/text/view/view/view6.可以看到里面不需要任何标签。
7.wxss文件:
wxss文件内容和template的wxss文件内容一样,这里不在赘述8.popup.json文件:
{"component":true,"usingComponents":{}}9.这里是固定格式,把component设为true
10.wxjs文件:
Component({options:{multipleSlots:true//在组件定义时的选项中启用多slot支持},/***组件的属性列表*/properties:{isShow:{type:Number,value:1},title:{//属性名type:String,//类型(必填),目前接受的类型包括:String,Number,Boolean,Object,Array,null(表示任意类型)value:'标题'//属性初始值(可选),如果未指定则会根据类型选择一个},//弹窗内容content:{type:String,value:'内容'},//弹窗取消按钮文字cancelText:{type:String,value:'取消'},//弹窗确认按钮文字confirmText:{type:String,value:'确定'}},/***组件的初始数据*/data:{flag:true,},/***组件的方法列表*/methods:{//隐藏弹框hidePopup:function(){this.setData({isShow:!this.data.isShow})},//展示弹框showPopup(){this.setData({flag:!this.data.flag})},/**内部私有方法建议以下划线开头*triggerEvent用于触发事件*/_cancelEvent(){//触发取消回调和外界交换的事件是cancelthis.triggerEvent("cancel");},_confirmEvent(){//触发成功回调和外界交换的事件是confirmthis.triggerEvent("confirm");}}})11.组件创建完成。
12.父模板使用组件
13.index.json文件引入组件(不需要单独引入wxml和wxss文件):
{"usingComponents":{"popup":"/component/popup/popup"}}14.前面的popup是自己给组件起的名字,在wxml里面使用:
15.index.wxml使用组件:
popupid'popup'title'标题'content'我是内容'cancelText'取消'confirmText'确定'bind:cancel"cancel"bind:confirm"confirm"/popup16.上面id的内容就是json文件定义的组件名字。title、content等都是组件的属性值,这些值可以在父组件里面修改:
this.popup.setData({'title':'我是标题'});17.bind后面是组件的事件。在调用组件的js文件里面使用此方法,如下:
cancel(){console.log('点击了取消');this.popup.setData({'title':'我是标题'});},confirm(){console.log('点击了确定');},showPopup(){this.popup.showPopup();},18.组件的定义及使用就是这样的,非常简单。
小程序组件化开发之component组件-微信小程序组件化开发-微信小程序组件开发
浏览量:1926
时间:
来源:草原孤鹰
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

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

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

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










