小程序--OASIS

mini-programme--OASIS

Posted by yellowDog on 2018-06-01

运行环境

开发者文档

页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件

涉及到 window 环境,jQuery这样的 library 也不能用

如何实现

知乎上一个回答(作者:吕晟)

Native 端和 JS 端约定好传输协议
js 端通过此通信协议/规范与 native 通信的部分封装并暴露接口为 API
最上层的传输或说设置数据的 API 也就是注册 Page 时的 data 属性与后续的 setData 方法


学到的 knowledge

页面传值(6.4)

页面之间跳转但是如果带的参数 value 中带问号会出问题

1
2
3
wx.requset({
url: `../../task/task?title=${title}&user=${user}`
});

这个问题在 issues 里躺了很久,结果我无意中在 MDN 中看到了 encodeURIComponent 和 decodeURIComponent 这两个 API 的时候,解决了哎,先编码一下拿到另一个页面的时候再解码就行了

学长说直接用 replace 对字符串转义也可以的


模块化

module.export = {}import '' from还是很方便的,比如节流和优化时间,代码复用的飞起来


小吐槽

  • 所有页面的 navigation 一遍一遍的 wxml,还是组件更方便

  • Scroll-view 和 Swiper 很迷啊…

  • 提升用户体验还是挺困难的,来日方长…