小程序组件化开发

在这里插入图片描述
在这里插入图片描述

创建-注册-使用

在这里插入图片描述
一样需要四个文件
哪个组件需要用,就得在自己的json文件注册
在这里插入图片描述
在这里插入图片描述
注册完以后既可以用
在这里插入图片描述
这是组件必须有的,证明是组件。

细节

命名要规范,可以嵌套调用组件在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以全局配置,这样每个页面都可以引用组件在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组件的样式细节

在这里插入图片描述
在这里插入图片描述
标签选择器会影响外部。外部用标签选择器也会影响内部
在这里插入图片描述
所有用class最好。
在这里插入图片描述
在这里插入图片描述
页面的js中的对象是pages(),APP.js中的对象是APP(),而组件中的对象则是conponent,
apply-shared是默认,外部影响内部,而内部不能影响外部在这里插入图片描述
在这里插入图片描述
没有影响,在这里插入图片描述
外部影响了。在这里插入图片描述
当值为shared时,就可以互相影响。

组件页面通信

在这里插入图片描述
传数据。
1 在组件的js里面,value是默认值
在这里插入图片描述
在这里插入图片描述
2传
在这里插入图片描述
3展示
在这里插入图片描述
结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
监听值改变,第一次从默认值变成哈哈哈,第二次从哈哈哈变成嘿嘿嘿。

传样式

1定义 在这里插入图片描述
在这里插入图片描述
在组件内定义好,做好接受的准备
2 传
在这里插入图片描述
在引用组件是顺便传过去,但传过去这个可以看成是传一个类过去,而这个类需要在自己的wxss里面定义。!!!在这里插入图片描述
相当于他自己定义好这个类,再把这个类传过去,而组件只需要做好接接受的准备即可。

组件向外传递事件

这个事件还是跟vue里面的差不多,其他两个页面的事件都是直接放在外面,而组件的事件需要放在methods里面,
1 首先。在组件里面监听
在这里插入图片描述
2 监听到后在组件的js文件里处理这个事件,
在这里插入图片描述
this.triggerEvent是发送事件,第一个是发送的事件名称,第二个是参数。vue中子组件发送事件是。
this.$emit(‘事件名称’,传递的值。)
3 发送出去后,在引入组件时顺便用bind:监听,vue里是用@监听,监听到后在作出处理
在这里插入图片描述
4 作出处理,在自己的js文件中处理监听到的子组件发出来的事件。
在这里插入图片描述
传过来的值放在event的detail里面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

页面直接调用组件的方法在这里插入图片描述

this.selectComponent()就可以访问组件里面的方式

在这里插入图片描述在这里插入图片描述

页面的方法修改组建的数据

在这里插入图片描述
在页面的点击事件直接修改组建的数据,记得要用setData,不然不能达到响应式效果。
但这种方法不可取,最好不要在页面直接修改数据。在组件创建一个方式修改数据,页面直接调用就好
在这里插入图片描述
在这里插入图片描述
效果是一样的。

wepy 是一个小程序组件开发框架。 组件 小程序支持js模块,但彼此独立,业务代码与交互事件仍需在页面处理。无法实现组件的松耦合与复用的效果。 例如模板A中绑定一个bindtap="myclick",模板B中同样绑定一样bindtap="myclick",那么就会影响同一个页面事件。对于数据同样如此。因此只有通过改变变量或者事件方法,或者给其加不同前缀才能实现绑定不同事件或者不同数据。当页面复杂之后就十分不利于开发维护。 因此wepy让小程序支持组件开发组件的所有业务与功能在组件本身实现,组件组件之间彼此隔离,上述例子在wepy的组件开发过程中,A组件只会影响到A绑定的myclick,B也如此。 wepy编译组件的过程如下: 组件引用 当页面或者组件需要引入子组件时,需要在页面或者script中的components给组件分配唯一id,并且在template中添加标签,如index.wpy。 页面组件都可以引入子组件,引入若干组件后,如下图: Index页面引入A,B,C三个组件,同时组件A和B又有自己的子组件D,E,F,G,H。 项目目录结构 ├── dist                   微信开发者工具指定的目录 ├── node_modules            ├── src                    代码编写的目录 |   ├── components         组件文件夹(非完整页面) |   |   ├── com_a.wpy      可复用组件 a |   |   └── com_b.wpy      可复用组件 b |   ├── pages              页面文件夹(完整页面) |   |   ├── index.wpy      页面 index |   |   └── page.wpy       页面 page |   └── app.wpy            小程序配置项(全局样式配置、声明钩子等) └── package.json           package 配置 主要解决问题 开发模式转换 支持组件开发 支持加载外部 NPM 包 单文件模式,使得目录结构更加清晰 默认使用 babel 编译,支持 ES6/7 的一些新特性 针对原生 API 进行优 标签:wepy  小程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderlin_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值