微信小程序学习

1、微信小程序主要目录和文件的作用

        project.config.json:项目配置文件,用的最多的就是配置是否开启https校验

        App.js:设置一些全局的基础数据等

        App.json:底部tab,标题栏和路由等设置

        App.wxss:公共样式,引入iconfont等

        pages:里面包含一个个具体的页面

        index.json:配置当前页面标题和引入组件

        index.wxml:页面结构

        index.wxss:页面样式表

        index.js:页面的逻辑,请求和数据处理

2、wxml与html的异同

相同点:

        都是用来描述页面的结构

        都由标签,属性等构成

不同点:

        标签名字不一样,小程序标签更少,单一标签更多

        微信小程序多了一些 wx:if 这样的属性以及{{}} 这样的表达式

        预览方式的不同,WXML仅能在微信小程序开发者工具中预览,而HTML可以在浏览器内预览

        组件封装不同,WXML对组件进行了重新封装

        小程序运行在JS Core内,没有DOM树和windiw对象,小程序中无法使用window对象和document对象。

3、WXSS和CSS的异同

相同点:

        都是用来描述页面的样子

不同点:

        WXSS新增了尺寸单位,WXSS在底层支持新的尺寸单位rpx

        WXSS仅支持部分CSS选择器

        WXSS提供全局样式与局部样式

4、封装微信小程序的数据请求的方法

        (1)在根目录下创建util目录及api.js文件和apiConfig.js文件

        (2)在apiConfig.js封装基础的get,post和put,upload等请求方法,设置请求体,带上token和异常处理等

        (3)在api中引入apiConfig.js封装好的请求方法.根据页面数据请求的urls,设置对应的方法并导出,在具体的页面中导入

        (4)将所有的接口放在统一的js文件中并导出

        (5)在app.js中创建封装请求数据的方法

        (6)在子页面中调用封装的请求数据

5、小程序页面之间传值或传递数据的方法

        (1)使用全局遍历实现数据传递

        (2)页面跳转或重定向时,使用url带参数传递数据

        (3)使用组件模板 template传递参数

        (4)使用缓存传递参数

        (5)使用数据库传递参数

        (6)给html元素添加data-*属性来传递值,然后通过e.currentTarget.dataset或onload的param参数获取(data- 名称不能有大写字母,不可以存放对象)

        (7)设置id 的方法标识来传值,通过e.currentTarget.id获取设置的id值,然后通过设置全局对象的方式来传递数据

        (8)在navigator中添加参数数值

6、小程序的双向绑定和vue的异同

        并无太大差异

        小程序之间this.data的属性不会同步到视图的,必须调用this.setData()方法

7、小程序的生命周期函数

        onLoad()页面加载时触发,只会调用一次,可获取当前页面路径中的参数

        onShow()页面显示/切入前台时候触发,一般用来发送数据请求

        onReady()页面初次渲染完成时触发,只会调用一次,代表页面已可和视图层进行交互

        onHide()页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等

        onUnload()页面卸载时触发,如redirectTO或navigateBack到其他页面时

8、提高微信小程序的应用速度的方法

        提高页面的加载速度

        用户行为预测

        减少默认的data的大小

        组件化方案

9、微信小程序的优势:

        (1)容易上手,基础组件库比较全,基本不需要考虑兼容问题

        (2)使用时无需下载打开速度快,在安卓上可以添加到桌面

        (3)开发成本低

        (4)提供良好的保障(小程序发布,严格的审查流程)

10、微信小程序的劣势:

        (1)限制较多,页面大小不能超过1M,不能打开超过5个层级的页面

        (2)样式单一,部分组件已经是成型的,样式不可修改

        (3)严重依赖微信,无法开发后台管理功能

        (4)真机测试时,根据手机不同,表现有差异


11、微信小程序和H5的区别

        运行环境不同(小程序在微信运行,h5在浏览器运行)

        开发成本不同(h5需要兼容不同的浏览器)

        获取系统权限不同(系统级权限可以和小程序无缝衔接)

        应用在生成环境的运行速度流程(h5需不断对项目优化来提高用户体验)

你可能感兴趣的:(学习)