美文网首页
微信小程序开发心得

微信小程序开发心得

作者: echo帅 | 来源:发表于2018-10-16 11:57 被阅读0次

    wxs使用限制

    根据官方的文档介绍,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍,但是需要注意一下几点

    • 在wxs中不能使用箭头函数等
    • <wxs> 模块只能在定义模块的 WXML 文件中被访问到。使用 <include> 或 <import> 时,<wxs> 模块不会被引入到对应的 WXML 文件中。
    • <template> 标签中,只能使用定义该 <template> 的 WXML 文件中定义的 <wxs> 模块。
    • 不能使用保留标志符作为变量名

    页面跳转限制

    • 小程序限制了跳转不超过5级,因此如果页面层级超过了5级,可以使用redirectTo或者reLaunch等代替
    • navigateTo, redirectTo 只能打开非 tabBar 页面。如果非要跳转,可以试试reLaunch
    • switchTab 只能打开 tabBar 页面。
    • 页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
    • 路由参数在onLoad生命周期获取

    Page(Object)限制

    • 根据文档介绍,该函数用于注册一个页面,但是Object内容在页面加载时会进行一次深拷贝,因此需考虑数据大小对页面加载的开销
    • 小程序思想和vue类似,wxml的动态数据来自page中的data,但是小程序支持改变数组中的某一项或对象的某个属性,不需要在 this.data 中预先定义。

    wxml页面限制

    • 该类型类似于html文件,可以做一些简单的操作,但是如indexOf等方法就无法直接使用,可以考虑配置wxs来实现
    • 在页面做判断时,尽量避免直接写true,false这种,一个不注意会把false写成字符串格式,导致判断为true

    HTTPS 网络请求限制

    • 不能使用patch方法
    • 只可以跟指定的域名与进行网络通信

    自定义组件限制

    • 组件对应 wxss 文件的样式,只对组件wxml内的节点生效
    • 除继承样式外, app.wxss 中的样式、组件所在页面的的样式对自定义组件无效。
    • 可以使用externalClasses来接收外部样式类,但需要注意版本库的支持(1.9.90以上)
    • 可以使用options.addGlobalClass来使得组件外样式类能够完全影响组件内部,也许有注意版本库的支持(2.2.3以上)

    this指向问题

    • 很多情况下会出现this的指向问题,可以在开始处定义const _this = this来避免

    生命周期函数注意事项

    • onLoad只会触发一次,对于不会常变动的页面,可以使用,但是对于购物车等这种会出现数据变化的页面,有可能会出现潜在的问题,可以试试onShow

    模块化注意事项

    • 我们会把部分公共的功能代码写在一个js文件里然后引入, 通过module.exports 或者 exports暴露,通过require引入,但要注意的是require不支持绝对路径,所以项目的架构需要注意下,不用老是频繁变动文件位置

    开发工具

    • 小程序有自己的开发工具,但是功能嘛。。。相当于一个预览工具与调试工具吧,我遇到的问题有,
      • 已经设置了用户名密码git只能拉取不能推送
      • 右击显示为空,没有任何选项,不能新建等等一堆问题
    • 有些问题的解决办法也简单,看看有没有更新,有的话更新下,其他的问题就只能各安天命了

    以上可能会有一些我没注意的地方,请自行判断

    相关文章

      网友评论

          本文标题:微信小程序开发心得

          本文链接:https://www.haomeiwen.com/subject/yrthzftx.html