侧边栏壁纸
  • 累计撰写 29 篇文章
  • 累计收到 1 条评论

小程序

admin
2022-06-14 / 0 评论 / 25 阅读 / 正在检测是否收录...

问题

  1. 小程序是单页面应用吗?
  2. 小程序的开发是如何发送请求请求数据的?
  3. 微信小程序的四种类型网络请求?
  4. 小程序获取定位的方法?
  5. 小程序中数据如何同步渲染?
  6. 小程序的生命周期?
  7. 小程序的rpx单位?
  8. 微信小程序和vue区别?
  9. 小程序原理?
  10. Bindtap和catchtap区别?
  11. Wxml和html异同?
  12. 小程序三种事件对象的属性列表?
  13. 小程序优势劣势?

答案:
小程序相关
小程序是单页面应用,通过路由进行页面切换

小程序的开发是如何发送请求请求数据的?
微信小程序只能和指定的域名进行通信,需要进行配置。且域名只支持https协议和wss协议,域名也不能使用ip地址且必须经过备案。

微信小程序的四种类型网络请求?
普通http请求 wx.request 上传文件wx.updateFile载文件wx.downloadFile webSocket通信wx.connectSocket
小程序不存在跨域的限制,是因为小程序并不运行在浏览器中

getlocation 获取定位

小程序中数据如何同步渲染
通过setdata方法
Setdata原理:小程序分为逻辑层和渲染层,逻辑层改变后要通过native运行。渲染层和逻辑层分别由两个线程管理,渲染层界面使用了webView进行渲染,逻辑层采用jsCore线程运行js脚本。一个小程序存在多个页面,所以渲染层存在多个webview,这两个线程的通信经由微信客户端native做中转,逻辑层发送网络请求也是经过native 转发
所以我们不要重复 setdata ,以及减少数据的传输量。我们的数据传输实际是一次 Javascript 脚本过程,当数据量过大时会增加脚本的编译执行时间,占用 WebView JS 线程。去除不必要的事件绑定( WXML 中的 bind 和 catch ),从而减少通信的数据量和次数。

小程序的生命周期
1 应用生命周期
onLaunch() 应用第一次启动的时候,首先执行这里的事件。一般用于获取用户信息,这里不能使用setdada修改data
onShow() 小程序应用渲染之后,用户能看到组件等信息,这个时候执行onshow,用户切换到后台在切换回来的时候会执行onshow。一般用于用户返回的时候对内容进行重置
onHide() 小程序被隐藏到后台的时候触发 一般用于用户切换到后台进行的暂停操作
onError() 当应用发生错误的时候触发
onPageNotFound() 当小程序第一次打开找不到入口界面的时候触发 一般用户主页找不到跳转到另外的主页
2 页面的生命周期(每次进入到一个新的页面)
Onload() 监听页面加载
onShow() 监听页面显示
onReady() 监听初次渲染完成
onHide() 监听界面隐藏
onUnload() 监听页面卸载
onPullDownRefresh() 监听用户下拉刷新
onReachBottom() 监听上拉触顶
onShareAppMessage() 监听用户分享转发
onPageScroll() 监听页面滚动
onResize() 监听页面尺寸发生改变 横竖屏
onTabItemTap() 当该页面是指定的tab页面,再次点击这个tabbar对应的tab按钮,就会触发
3 组件的生命周期
Created 组件实例刚被创建好,此时还不能调用setdata
Attacthed 组件初始化完毕,进入页面节点树时执行
Ready 组件布局完成之后执行
Moved 组件实例被移动到节点树另一个位置的时候执行
Detachd 组件离开页面节点数的时候触发

小程序的rpx单位
Rpx是微信独有的解决屏幕自适应的尺寸单位,他是规定屏幕宽度为750rpx,从而达到自动适配

微信小程序和vue区别
生命周期不一样,小程序的简单
数据绑定不同,小程序用{{}} vue用 :
显示隐藏元素不同 vue v-if v-show 小程序 wx-if hidden
数据双向绑定不同,vue只需要在表单元素加v-model就可以,小程序则必须获取到表单元素改变的值,然后再把值赋给data中声明的变量

小程序原理
采用js,wxml,wxss三种技术进行开发,本质是单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,页面的更新也是通过数据的更改来实现的。小程序分为webview和appServer,前者用来展示ui,后者用来处理逻辑、数据、接口调用,在两个进程中运行。

Bindtap和catchtap区别
相同:都是点击事件,点击触发
不同:bindtap不会阻止冒泡,catchtap会阻止

Wxml和html异同
同:都是用来描述界面的构成 都是标签、属性等构成
不同:标签名字不一样 一个在浏览器里预览一个在小程序开发工具中预览 组件封装不同
小程序中没有dom树和window对象

小程序三种事件对象的属性列表
l4dwt6jt.png

小程序优势劣势
优势:无需下载 打开速度快 开发成本低 审核严格,较为安全
劣势:限制多,页面大小不能超过1m 样式单一,幻灯片导航等不能修改 依托微信,麻烦

宿主环境 安卓和ios

0

评论 (0)

取消