第二步:wx.getUserInfo获取加密过的数据encryptedData和解密参数iv
●onLoad()页面加载时触发,只会调用一次,可获取当前页面路径中的参数。
●onShow()页面显示/切入前台时触发,一般用来发送数据请求;
●onReady()页面初次渲染完成时触发,只会调用一次,代表页面已可和视图层进行交互
●onHide()页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等
●onUnload()页面卸载时触发,如redirectTo或navigateBack到其他页面时
小程序常用的框架
组件化开发框架wepy官方介绍:组件化开发,完美解决组件隔离,组件嵌套,组件通信等问题,支持使用第三方npm资源,自动处理npm资源之间的依赖关系,完美兼容所有无平台依赖的npm资源包.官方框架MINA官方介绍:框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上。
程序分为两个部分webview和appService。其中webview主要来展现UI,appService用来处理业务逻辑、数据及接调。它们在两个进程中运,通过系统层JSBridge实现通信,实现UI的渲染、事件的处理
小程序项目的主要目录文件作用
小程序的双向绑定和vue哪里不一样
小程序直接this.data的属性是不可以同步到视图的,必须调用:this.setData({//这里设置})
小程序页面的生命周期函数
onLoad页面加载时触发。一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数(监听页面加载)
onShow()页面显示/切入前台时触发(监听页面显示)
onReady()页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互(监听页面初次渲染完成)
onHide()页面隐藏/切入后台时触发。如navigateTo或底部tab切换到其他页面,小程序切入后台等(监听页面隐藏)
onUnload()页面卸载时触发。如redirectTo或navigateBack到其他页面时(监听页面卸载)
小程序的wxss和css有哪些不一样的地方
WXSS和CSS类似,不过在CSS的基础上做了一些补充和修改
尺寸单位rpxrpx是响应式像素,可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在iPhone6上,屏幕宽度为375px,共有750个物理像素,则750rpx=375px=750物理像素
使用@import标识符来导入外联样式。@import后跟需要导入的外联样式表的相对路径,用;表示语句结束
小程序页面间有哪些传递数据的方法
(1)使用全局变量实现数据传递在app.js文件中定义全局变量globalData,将需要存储的信息存放在里面使用的时候,直接使用getApp()拿到存储的信息
如何实现下拉刷新
首先在全局config中的window配置enablePullDownRefresh在Page中定义onPullDownRefresh钩子函数,到达下拉刷新条件后,该钩子函数执行,发起请求方法请求返回后,调用wx.stopPullDownRefresh停止下拉刷新
bindtap和catchtap的区别是什么
相同点:首先他们都是作为点击事件函数,就是点击时触发。在这个作用上他们是一样的,可以不做区分
不同点:他们的不同点主要是bindtap是不会阻止冒泡事件的,catchtap是阻止冒泡的
‘wx.navigateTo()’,‘wx.redirectTo()’,‘wx.switchTab()’,‘wx.navigateBack()’,'wx.reLaunch()'的区别
wx.navigateTo():保留当前页面,跳转到应用内的某个页面。但是不能跳到tabbar页面
wx.redirectTo():关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到tabbar页面
wx.switchTab():跳转到tabBar页面,并关闭其他所有非tabBar页面
wx.navigateBack():关闭当前页面,返回上一页面或多级页面。可通过getCurrentPages()获取当前的页面栈,决定需要返回几层
wx.reLaunch():关闭所有页面,打开到应用内的某个页面
typeof运算符和instanceof运算符以及isPrototypeOf()方法的区别
typeof是一个运算符,用于检测数据的类型,比如基本数据类型null、undefined、string、number、boolean,以及引用数据类型object、function,但是对于正则表达式、日期、数组这些引用数据类型,它会全部识别为object;
instanceof同样也是一个运算符,它就能很好识别数据具体是哪一种引用类型。它与isPrototypeOf的区别就是它是用来检测构造函数的原型是否存在于指定对象的原型链当中;而isPrototypeOf是用来检测调用此方法的对象是否存在于指定对象的原型链中,所以本质上就是检测目标不同。
call()和apply()的区别
实际上,apply和call的功能是一样的,只是传入的参数列表形式不同。apply(this对象,[参数1,参数2,…])即使只有一个参数,也要写进数组里call(this对象,参数1,参数2,…)它可以接受多个任意参数,第一个参数与apply一样,后面则是一串参数列表
给HTML元素添加data-*属性来传递我们需要的值,然后通过e.currentTarget.dataset或onload的param参数获取。但data-名称不能有大写字母,不可以存放对象
提高页面加载速度用户行为预测减少默认data的大小组件化方案
怎么解决小程序的异步请求问题
小程序支持大部分ES6语法在返回成功的回调里面处理逻辑Promise异步
小程序wxml与标准的html的异同?
小程序简单介绍下三种事件对象的属性列表?
小程序对wx:if和hidden使用的理解?
wx:if有更高的切换消耗。hidden有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用hidden更好,如果在运行时条件不大可能改变则wx:if较好
app.json是对当前小程序的全局配置,讲述三个配置各个项的含义?
小程序onPageScroll方法的使用注意什么?
由于此方法调用频繁,不需要时可以去掉,不要保留空方法,并且使用onPageScroll时,尽量避免使用setData(),尽量减少setData()的使用频次。
小程序视图渲染结束回调?
使用setData(data,callback),在callback回调方法中添加后续操作代码
小程序同步API和异步API使用时注意事项?
wx.setStorageSync是以Sync结尾的API为同步API,使用时使用try-catch来查看异常,如果判定API为异步,可以在其回调方法success、fail、complete中进行下一步操作。
1、将所有的接口放在统一的js文件中并导出。
2、在app.js中创建封装请求数据的方法。
3、在子页面中调用封装的方法请求数据。
小程序与原生App哪个好?
小程序除了拥有公众号的低开发成本、低获客成本低以及无需下载等优势,在服务请求延时与用户使用体验是都得到了较大幅度的提升,使得其能够承载跟复杂的服务功能以及使用户获得更好的用户体验。
webview中的页面怎么跳回小程序中?
首先要引入最新版的jweixin-x.x.x.js,然后
小程序导航的页面可以通过switchTab,但默认情况是不会重新加载数据的。若需加载新数据,则在success属性中加入以下代码即可:
小程序调用后台接口遇到哪些问题?
1、数据的大小有限制,超过范围会直接导致整个小程序崩溃,除非重启小程序;
优势:
1、无需下载,通过搜索和扫一扫就可以打开。
2、良好的用户体验:打开速度快。
3、开发成本要比App要低。
4、安卓上可以添加到桌面,与原生App差不多。
劣势:
1、限制较多。页面大小不能超过1M。不能打开超过5个层级的页面。
2、样式单一。小程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯片、导航。