引言html
用过原生开发的小程序也知道除了api 其余功能性的内容并很少对于须要作大型项目来讲是比较难入手的,所以朋友推荐的wepy我就入坑鸟。。。
这么一个跟vue的开发方式相似的框架,不过提及来跟vue相似,可是用起来还真不是那么简单。api开发仍是和部分vue有出入,所以以下记录,入手的教程就不发了只发踩坑。vue
官方文档git
下面是已经踩过的坑canvas
wepy 问题查找小程序
https://github.com/Tencent/we...
比较建议在这里查找下遇到的问题以后在提问毕竟这里都是收集比较齐全api
标签中的指令简写微信
跟Vue相似app
data使用注意点框架
对于视图中须要用到的数据,应该事先在data中定义一下,哪怕此时没有数据,也应该定义一个空值
WePY中的methods的使用
this 运用
小程序里修改data 里面的属性或者赋值都须要利用this.setdata()而wepy 基本就是利用this.属性便可。若是是异步返回或者更新dom须要this.$apply()触发脏值检测
页面跳转
navigateTo() 和 redirectTo() 的差异。
navigateTo()保留当前页面,跳转到应用内的某个页面(即:显示顶部导航栏左上角返回按钮,能够有返回路径)
redirectTo()关闭当前页面,跳转到应用内的某个页面(即:不显示左上角返回按钮,如须要返回在页面内本身添加按钮写路径或者利用wx.navigateBack()和 getCurrentPages() 获取当前的页面栈,决定须要返回几层。
文件上传
上传文件没有传统html中的文件域(<input type="file"/>),要想上传文件只能使用API: uploadFile()
更新DOM$apply
若是须要更新DOM,应该在随后调用组件实例的$apply方法,才能更新到页面中
this.name="abc"; this.$apply()
mixin
wepy的mixin,与vue中的mixin执行顺序相反
关于canvas和base64
小程序中能够进行canvas相关操做,可是跟纯html中的canvas有所不一样(api差别),canvas的使用都应该参照:小程序中的canvas
arrayBuffer和base64互转
本段内容在文档中是搜索不到的,可是确实是支持的,使用以下2种方式:
wx.arrayBufferToBase64(arrayBuffer) wx.base64ToArrayBuffer(base64)
命名规范
小程序内部定义的实例API都以$开头,因此咱们在定义实例属性、方法的时候不能以$开头,以便区分
同名组件共享同一实例及数据
循环渲染组件时,容易出现组件数据相互污染。能够用最外层的组件监听事件冒泡以修改数据,同时触发事件的组件用setTimeout包裹,保证执行顺序。
循环渲染组件:
wepy的循环渲染组件,必须使用 <repeat>标签,或者微信官方的<block>标签(这两个标签都是不会渲染到dom的)不然就不会渲染成功。
组件component 没有 onLoad 等页面事件
page
页面类,继承自wepy.component,拥有页面全部的属性与方法。
所有属性继承自wepy.component。而wepy.component没有onLoad 等方法
未完待续-----------------