美文网首页
微信小程序

微信小程序

作者: 翰墨_42a6 | 来源:发表于2018-11-08 09:46 被阅读0次

    微信项目结构

    项目开发的目录结构,微信已经为开发者规范好了,结构清楚明了,很容易分辨和阅读。

    1. 小程序的主体部分(程序的入口)
      由3个文件组成,必须放在项目的根目录,如下:
    文件 必需 作用
    app.js 小程序逻辑(生命周期函数..)
    app.json 小程序公共配置
    app.wxss 小程序公共样式表
    1. 一个小程序页面由四个文件组成,分别是:
    文件类型 必需 作用
    js 页面逻辑(页面周期函数..)
    wxml 页面结构
    json 页面配置
    wxss 页面样式表

    注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名。

    页面赋值和刷新

    它的页面赋值、刷新跟RN差不多(数据推动),都是通过在js逻辑层通过一个函数去实现的。看代码....

    页面事件处理

    页面事件

    路由

    导航组件
    导航API

    • 怎么传值给下一个页面
      1.通过跳转url拼接?title=xxx&msg=xxx
    onLoad: function (options) {
         console.log(options.title);
    }
    

    2.跳转页面通过获取page实例取值

    onLoad: function (options) {
          var pages = getCurrentPages(); // 获取页面栈
          var currPage = pages[pages.length - 1]; // 当前页面
          var prevPage = pages[pages.length - 2]; // 上一个页面
          console.log(prevPage.data.xxx);
    }
    

    3.把当前页面数据放入本地缓存( wx.setStorage(wx.setStorageSync),下一个页面再从缓存中取出(wx.getStorage(wx.getStorageSync))同时退出登录时要清除缓存(wx.clearStorage(wx.clearStorageSync))。

    • 怎么传值修改上一个页面或者堆栈中的页面值
      1.跳转页面前通过获取page实例修改
    xxxFunction: function () {
          var pages = getCurrentPages(); // 获取页面栈
          var currPage = pages[pages.length - 1]; // 当前页面
          var prevPage = pages[pages.length - 2]; // 上一个页面
          prevPage.data.xxx;//只修改、添加值;
          prevPage.setData({
                    xxx:xxxxx
          });//同时刷新页面;
         wx.wx.navigateBack();//返回
    }
    

    2.也可以把当前页面数据放入本地缓存,上一个页面再从缓存中取出。

    其他的像网络API、存储API 等等可以去官方查看对应文档,有详细的介绍。官方地址:https://developers.weixin.qq.com/miniprogram/dev/api/

    下面讲讲小程序中的一些特殊设计点

    为了让开发者开发的项目更容易扩展和迭代、解耦、复用。微信小程序框架提供了很多能力,简单介绍几个。

    模板功能

    WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。
    其实有点像IOS中的宏定义功能,一个占位符,编译打包后占位符位置替换成具体UI标签

    自定义组件

    开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用;也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护。自定义组件在使用时与基础组件非常相似。

    WXS文件

    WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

    注意

    • wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
    • wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
    • wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
    • wxs 函数不能作为组件的事件回调。
    • 由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

    小程序其它功能和能力大家可以去官方查看
    https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18110719

    简单说说开发工具
    https://developers.weixin.qq.com/miniprogram/dev/devtools/different.html

    相关文章

      网友评论

          本文标题:微信小程序

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