wx.showLoading({ title:'正在加载中', mask:true })
return new Promise(function(reslove,reject){ wx.request({ url:'接口地址', method:'get' //默认为get时可以不写 data:{} //参数写在data中 success:res=>{ //请求成功后执行,值就是参数 resolve(res) } , fail:(err)=>{ reject(err) }, }) })
2. 参数值的传递方式有哪些?
1、页面跳转或重定向时,使用url带参数传递数据。
使用组件模板传递参数
使用缓存传递参数
使用数据库传递参数
或者
html元素中添加data-*属性来传递值,然后通过e..或参数获取(data-名称不能有大写字母,不能存储对象)
设置id的方法标识符来传递值,通过e..id获取设置的id值,然后通过设置全局对象来传递数据
添加参数值在
wx.navigateTo({ url:'/pages/logs/log?type=1' })
4.通过传递参数
wx.('','参数')
3、与css相比,wxss扩展的特点是:
响应式长度小程序不支持通配符
4、小程序关联微信公众号时如何判断用户的唯一性
可以区分用户的唯一性,因为同一微信开放平台下不同应用的统一用户是相同的。
5.如何实现下拉刷新
首先在全局配置h
在Page中定义钩子函数。下拉刷新条件达到后,执行狗子功能,发起请求。
请求返回后,调用wx.
6.和有什么区别
它们的功能都与点击事件相同
不同的是,事件冒泡可以被阻止,但不能被阻止。
6. 页面跳转
wx.() 保留当前页面并跳转到应用内的某个页面,但无法跳转到该页面
wx.() 关闭当前页面并跳转到应用程序内的某个页面,但不允许栏转到该页面。
wx.() 跳转到页面并关闭所有其他非页面
7. 如何实现定制
在 .json 中设置对象
列表数组跳转路径
文本按钮名称、信息
按钮未被选中时的图标
选择按钮时的图标
分包加载
构建时打包成不同的子包,用户在使用时可以按需加载。
8.请谈谈小程序和vue的双向绑定有何异同?
大致是一样的,但是小程序之间的this.data的属性无法同步到视图,必须调用this.()方法。
9.请谈谈小程序的生命周期功能
() 在页面加载时触发。只会调用一次来获取当前页面路径中的参数。
() 页面显示/切换到前台时触发,一般用于发送数据请求
() 在页面初始渲染完成时触发。它只会被调用一次,这意味着页面可以与视图层交互。
() 页面隐藏/切换到后台时触发,例如底部标签切换到其他页面或者小程序切换到后台等。
() 页面卸载时触发,比如转到其他页面时触发
10.简述微信小程序原理
小程序本质上是一个单页面应用程序。所有页面渲染和事件处理都在一个页面内完成,但可以通过微信客户端调用各种原生接口;
它的架构是数据驱动的架构模型,UI和数据是分离的。所有的页面更新都需要通过数据的改变来实现;
从技术上来说,和现有的前端开发类似,采用三种技术:WXML、WXSS进行开发;
功能可分为两部分: 和 ,主要用于展示UI以及处理业务逻辑、数据和接口调用。它们分两个进程执行,通过系统层进行通信,实现UI渲染和事件处理;
用于显示UI并处理业务逻辑、数据和接口调用;
这两部分运行在两个进程中,通过系统层进行通信,实现UI渲染、事件处理等。
代码运行在微信App中,因此一些H5技术应用需要微信App提供相应的API支持。
wxml 微信本身是基于xml语法开发的,所以开发时只能使用微信提供的现有标签。无法使用 HTML 标签。
wxss具有css的大部分功能,但不是全部都支持,也没有详细的文档(wxss的图片引入需要使用外部链接地址,没有正文,可以导入样式)
11、提高微信小程序的应用速度有哪些方法?
提高页面加载速度
用户行为预测
减少默认数据大小
组件解决方案
12.分析微信小程序的优缺点?
优点:
上手简单,基础组件库比较齐全,基本不需要考虑兼容性问题。
开发文档比较齐全,开发社区比较活跃,支持插件开发。
良好的用户体验。无需下载。您可以通过搜索和扫描打开它。它打开得很快。在上可以添加到桌面,与原生APP类似。
开发成本比APP低
为用户提供良好的保障(小程序发布严格来说是一个审核过程)
缺点:
限制很多,页面大小不能超过1M,不能打开5级以上的页面。
样式单一,有些组件已经成型,样式无法修改,比如幻灯片、导航等。
推广范围窄,无法分享到朋友圈。只能通过分享给好友、附加小程序来推广。
依靠微信,无法开发后台管理功能
API接口必须请求公网地址,后台调试比较麻烦
在真机测试中,个别安卓和苹果的表现相差很大。例如的定位功能加载速度非常慢。
13.微信小程序和H5有什么区别?
运行环境不同(小程序运行在微信上,h5运行在浏览器上)
开发成本不同(h5需要兼容不同浏览器)
获取系统权限不同(系统级权限可与小程序无缝对接)
应用在生产环境的运行速度过程(h5需要不断优化项目以提高用户体验)
14.如何解决微信小程序的异步请求问题?
在回调函数中调用下一个组件的函数
app.js success:function(info){ that.apirtnCallback(info) }
index.js onLoad:function(){ app.apirtnCallback = res =>{ console.log(res) } }
15.小程序发布流程(开发流程) 注册微信小程序账号,获取微信小程序下载 微信小程序开发者工具创建演示项目 前往微信公众号配置域名 手机浏览代码上传送审小程序发布16.数据存储
wx.( )
将数据存储在本地缓存中指定的 key 处。
单个密钥允许存储的最大数据长度为1MB,所有数据存储的上限为10MB。
wx.(键,任何数据)
wx.('键', '')
wx.( )
任何wx。(键)
wx.( )
wx.( )
17 张图片
wx.() 在新页面中全局预览图像。在预览过程中,用户可以保存图像、发送给朋友等。
wx.previewImage({ current: '', // 当前显示图片的http链接 urls: [] // 需要预览的图片http链接列表
wx.() 获取图像信息。网络镜像需要配置域名才能生效。
( )压缩图像接口,可选压缩质量
wx.compressImage({ src: '', // 图片路径 quality: 80 // 压缩质量
wx.( )从本地相册选择图片或用相机拍照
18如何分包加载?分包加载有什么优点?
分包加载介绍
大多数小程序都是由多个函数组成的。通常这些功能是相互独立的,但是依赖于一些共同的逻辑,并且这些功能通常对应于几个独立的页面。那么小程序代码的包就不必打包成一个包了。根据功能划分,可以拆分为多个子包。当需要某个功能时,加载该功能对应的子包。
对于用户来说,小程序加载流程变成:
1、首次启动时,下载小程序主包并显示主包中的页面;
2、如果用户进入某个分包页面,则下载对应的分包页面。下载完成后,显示分包页面。
采用分包加载,对于开发者来说,小程序可以拥有更大的代码量,承载更多的功能和服务;对于用户来说,可以更快地打开小程序,而不影响启动速度。以使用更多功能。
分包事业部
在配置之前,开发者首先需要规划好每个分包需要容纳的内容。我们建议开发者遵循功能划分的原则,将同一功能下的页面和逻辑放在同一目录下。对于一些跨功能的公共逻辑应该放在主包下,以保证子包引用这部分功能时,这部分逻辑必须存在。
分包时应注意以下事项:
1、避免分包与分包之间的引用耦合。由于子包的加载是由用户操作触发的,因此不能保证当某个子包加载时,一定会存在另一个子包。这可能会导致JS逻辑异常,比如报“”xxx.js”不是”这样的错误;
2.一些常用的自定义组件需要放在主包中。
常问问题:
rpx:小程序的大小单位,指定屏幕,可适配不同分辨率的屏幕
无法通过wxss获取本地资源:-: 可以使用网络图片,或者,或者使用标签
wx。无法打开页面:一个应用程序只能同时打开5个页面。请避免多级交互,或者使用wx.
设置不显示: 1. 项数少于2项或多于5项则不显示。 2、写入方法错误导致无法显示。 3.没有写入字段(程序启动后显示的第一页)