小程序组件复用
2021/4/12 22:26:26
本文主要是介绍小程序组件复用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.组件是什么
组件:
有完整的功能,在代码中可以独立运行
插件:
通常说为了某个功能而开发的,列如:轮播图
类库(library):
是用来完成项目的工具的集合
框架(framework):
是为了快速完成项目搭建的基础。框架分为:UI 框架和javaScript框架
2.小程序组件分类
1. 内置组件:
小程序内置的组件,直接拿来就可以使用,无需安装 例如:view,text,image,button,swiper,switch....
2. 第三方组件:
需要安装,引入,再使用
3. 如何让小程序支持npm:
-
生成package.json:npm init -y
-
安装vant: npm i @vant/weapp -S --production
-
将 app.json 中的 “style”: “v2” 去除
-
勾选开发者工具-详情–本地设置-npm模块
-
选择微信左上角的开发者工具-工具-构建npm
-
使用第三方vant组件
第一步:在app.json或当前页面的json文件中的usingComponents引入
第二步:在wxml页面上引入标签
4. 自定义组件:自己开发组件,然后再项目中多处复用,提高开发效率,这也是组件化的核心思想
- 新建的组件构造器:
Component({ }) 2. 文件类型也有4个:wxml,json,js,wxss 3. 在需要的页面xxx.json或全局app.json配置 文件中引入自定义组件,例如:cate.json { "usingComponents": { "Dialog":"/components/dialog/dialog" } } 4. 将Dialog显示到wxml视图上 例如:cate.wxml <Dialog-box />
5. 组件之间如何通讯:
第一种:父传子 1.如何传 <Dialog-box id="dialog" title="订单信息" content="订单支付内容" /> 2. 如何接 Component({ ... properties: { //要接收的属性 title:{ //接收的类型 type:String, //接收的默认值 value:"此处应该有一个标题" }, content:{ type:String, value:"此处应该是内容" } }, })
1. 第二种:子传父 主要通过事件派发,监听模式 Vue:this.$emit('自定义的事件名',要传递的值) 小程序:this.triggerEvent('自定义的事件名',要传递的值,事件选项) 子派发事件:triggerEvent //确定逻辑 confirm_btn() { //向父级派发confirm事件 this.triggerEvent('confirm','您点击确定啦') }, 父监听: <Dialog-box id="dialog" title="订单信息" content="订单支付内容" bind:confirm="myconfirm" bind:cancel="mycancel" />
1. 第三种:兄弟之间 vue兄弟组件传值:bus,vuex 小程序:主要通过利用父级组件当桥梁,来实现兄弟组件通讯 A:父组件:cate <A bind:A="myA"/> <B mynum="{{ num }}"/> B传给C兄弟 B传A: wxml: <view> <text>我是A组件-{{ num }}</text> <view><button size="mini" bindtap="goToParent">把A的数据发送给B组件</button></view> </view> JS: goToParent() { this.triggerEvent('A',this.data.num) } } A传C <A bind:A="myA"/> myA(e) { this.setData({ num:e.detail }) } C再将A接的值再接收: //父级代码:cate <B mynum="{{ num }}"/> xt>我是B组件--{{ mynum }}</text> </view> ``` C内部的代码: Component({ properties: { mynum:{ type:Number, value:99 } }, }) <view> <text>我是B组件--{{ mynum }}</text> </view>
这篇关于小程序组件复用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享
- 2024-11-20微信小程序全栈教程:从零开始的全攻略
- 2024-11-19微信小程序全栈学习:从零开始的完整指南