微信小程序

2023-01-31  本文已影响0人  欢西西西

https://www.nowcoder.com/discuss/442341699034021888

1. 小程序嵌入h5页面

使用小程序提供的web-view组件,可以在微信小程序中嵌入外部网页(前提是域名在微信公众平台后台配置过)
<web-view src="{{url}}"></web-view>

互相跳转

如果在网页中需要调用微信的能力,需要借助JS-SDK

通信

微信小程序不鼓励大范围嵌入h5,避免把小程序变成“浏览器”,所以在通信上有很多限制

2. h5和小程序之间如何选择

h5开发灵活
h5可以适配多端,不受微信限制,比如支付或者分享朋友圈等,小程序会受微信的限制,而h5更灵活


小程序系统权限更高
因为h5依赖浏览器,所以基本没有什么系统权限,而小程序因为依赖微信APP,可以获取更多的权限,相机、相册、通讯录等

3. 传值方式

4. rpx

解决屏幕自适应问题,微信小程序将布局时的设备宽度都视为750rpx,会自动帮我们计算1rpx与px的换算关系,就像rem我们需要自己来计算1rem应该为多少px(根据设备逻辑宽度和我们使用的设计稿宽度计算)

5. wxml

标签更少,没有dom树和window对象

6. openid

小程序可以用openid来区分用户
获取:先wx.login获取一个code,再使用这个code和appid和appsecret去换取openid(code给后端让后端去调微信的api,因为appsecret存在前端不安全)

7. bindTap和catchTap的区别

catch会阻止事件冒泡,防止事件穿透

8. 生命周期

组件生命周期

9. 页面的onLoad和onReady有什么区别

onload的时候还没有向view thread发送数据,当然页面也没有渲染,view第一次渲染结束之后触发onReady

10. 路由跳转方法的区别

主要是关闭当前页面时,页面是否出栈的区别

11. 请求

12. 分包

13. 没有双向绑定

14. 微信小程序原理

双线程(view thread、appservice thread)模型:渲染层解析wxml和wxss、逻辑层执行js
逻辑层通过setData更新view
2个线程之间通过微信客户端(native)来交换数据

上一篇 下一篇

猜你喜欢

热点阅读