网站首页 > 开源技术 正文
wepy 是一个小程序组件化开发框架。
组件
小程序支持js模块化,但彼此独立,业务代码与交互事件仍需在页面处理。无法实现组件化的松耦合与复用的效果。 例如模板A中绑定一个bindtap="myclick",模板B中同样绑定一样bindtap="myclick",那么就会影响同一个页面事件。对于数据同样如此。因此只有通过改变变量或者事件方法,或者给其加不同前缀才能实现绑定不同事件或者不同数据。当页面复杂之后就十分不利于开发维护。 因此wepy让小程序支持组件化开发,组件的所有业务与功能在组件本身实现,组件与组件之间彼此隔离,上述例子在wepy的组件化开发过程中,A组件只会影响到A绑定的myclick,B也如此。
wepy编译组件的过程如下:
组件引用
当页面或者组件需要引入子组件时,需要在页面或者script中的components给组件分配唯一id,并且在template中添加<component>标签,如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 进行优化
Demo
<style lang="less">
@color: #4D926F;
.userinfo {
color: @color;
}
</style>
<template lang="pug">
view(class='container')
view(class='userinfo' @tap='tap')
mycom(:prop.sync='myprop' @fn.user='myevent')
text {{now}}
</template>
<script>
import wepy from 'wepy';
import mycom from '../components/mycom';
export default class Index extends wepy.page {
components = { mycom };
data = {
myprop: {}
};
computed = {
now () { return new Date().getTime(); }
};
async onLoad() {
await sleep(3);
console.log('Hello World');
}
sleep(time) {
return new Promise((resolve, reject) => setTimeout(resolve, time * 1000));
}
}
</script>
猜你喜欢
- 2024-10-10 知识付费心理咨询微信小程序开发方案
- 2024-10-10 如何将 h5 页面快速转换成微信小程序
- 2024-10-10 即刻搞定小程序开发的4模式+9框架
- 2024-10-10 广告联盟小程序开发成本取决于什么
- 2024-10-10 小程序开发的技术难点(小程序开发的技术难点在哪)
- 2024-10-10 小程序开发工具推荐:提高开发效率的利器
- 2024-10-10 强烈推荐:绝对是最好的一个小程序开源框架
- 2024-10-10 影剧院购票选座小程序如何开发,它的功能有哪些
- 2024-10-10 小程序开发之:wepy编辑器配置(小程序编译器)
- 2024-10-10 除了uniapp,还有9个开源的企业级小程序框架
欢迎 你 发表评论:
- 1600℃北京那些看上去很牛的车牌们!(北京厉害车牌)
- 1116℃2025年度视频去水印软件TOP5对比:哪款最值得用
- 615℃新疆话里的“虫子”
- 534℃中兴光猫 Telnet下设置大全(中兴光猫命令大全)
- 525℃蓝牙设备配对失败的系统性解决方案与技术解析
- 520℃未备份电脑文件数据恢复的七种方法
- 503℃工艺管道常用英文缩写 英汉对照
- 461℃是爱情啊!比伯分享度假照 与海莉礁石上甜蜜接吻
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)

本文暂时没有评论,来添加一个吧(●'◡'●)