前言:小程序很多东西都是自己封装好了,开发人员只需要自己进行一些配置就可以了。这对于快速开发来说,是一大好处,但是对于个性化来说,却是一个弊端。
小程序的配置文件:JSON文件。
1. 除了app.json是必须要的,其他页面不强制需要。
2. 其他页面如果有该文件,则会覆盖app.json中的配置。
3. 其他页面的json文件只能配置程序顶栏信息,比如背景色,标题等。
4. 注意,该文件不能添加任何形式的注释,切记。
配置小程序打开时的首页:
1. 进入到app.json文件。
2. 在pages字段的list里面,把首页的路径放到第一个。
3. 小程序启动后会默认打开该页面。
小程序的底部导航:
1. 小程序的底部导航是微信封装好的一个模块。我们只需要设置文字图片和跳转即可。不需要自己实现。
2. 只需要在app.Json文件中加入tabBar字段并进行配置即可,注意,最少2个最多5个。
3. 底部导航的顺序,按照你设置的list的顺序从左到右排布。
4. 底部导航的图片,切图时的最佳分辨率是83*83px的图标。否则会出现模糊或者边缘刺。
小程序的超时设置:
1. 分为请求、连接、上传和下载超时。不设置则默认为全部60秒。
2. 全部设置60秒并不合理。建议请求10秒,连接10秒,上传30秒,下载120秒。
3. 以上设置理由根据现有手机网络环境估算得出。
调试模式的开启:
1. 小程序开发时提供调试模式,在app.json中设置debug为true即可。
2. 如果不进行设置,默认false,在调试时候启动小程序需要自动退出并手动重启,比较麻烦,建议开启。
3. 手机端的调试只支持控制台和系统输出,调试的时候如果不想麻烦,可以使用consloe.log打印对象信息。
小程序初始化:
1. 小程序初始化完成会触发onLaunch事件。
2. onLaunch完成时,页面其实并没有生成和加载,不可使用getCurrentPage()方法,切记。
页面初始化:
1. 页面初始化通过页面的js文件来完成。
2. Js文件中必须有个page(),他是用来注册页面的,没有该函数,页面无法注册。
3. 小程序会先加载js中的page(),然后渲染页面。
修改数据绑定:
1. 数据绑定的动态变更必须要使用setData函数来完成。
2. 直接修改data是无效的。
3. setData有一个上限,数据量不能超过1024KB,切记。
4. setData可以设置不被预定义的数据。预定义指的是data中的变量。
全局设置:
1. 设置globalData有助于你进行全局调整。
2. 比如设置OPEN_ID,SESSION_KEY,basePath等。
3. OPEN_ID,SESSION_KEY在小程序初始化完成的时候就可以去获取。以便后面的代码调用。
4. basePath是为了发布时不需要修改多处接口地址考虑的。
5. 一般把basePath设置为https://IP地址:端口号/ 即可。在发布时,改为正式服服务器地址即可,避免修改多次且可能造成的未完全修改风险,本方法参考至JSP技术的basePath以及JAVA的基类思路。
6. 用法上,通过在其他js文件中添加两句代码即可获得app实例。如下:
7. var app = getApp();
8. var basePath = app.globalData.basePath;
9. 这样就可以得到app实例的全部数据和方法,类似于JAVA基类用法。
10. 需要注意的是,globalData是一个变量,可以在其他位置修改。但是最好不要修改。切记。
数据绑定:
1. 进行数据这个做法,腾讯应该是参考了Vue.js这个前端框架的。
2. 所以他在进行数据操作或者拼接时,是支持以前${ }这种写法类似的功能的。
3. 需要注意的是,最好不要在{{ value }} 绑定数据的前面加上中文的 冒号(: ),可能会导致Wxml panner这个调试器失效,这个坑很大。刚开始,都以为是因为不支持${ }这种写法类似的功能而找原因未果,后面实在无奈,重写时一个一个尝试,才发现不是这个原因,小程序本身就是参考至JavaScript的,一般情况下不会抛弃前者的强大功能。现在似乎是没有这个问题了。
条件渲染: