微信小程序新增了一个组件:root-portal。这又是一个令人迷惑的组件,官方文档的介绍是:使整个子树从页面中脱离出来,类似于在 CSS 中使用 fixed position 的效果。主要用于制作弹窗、弹出层等。
明明用CSS就可以轻松解决的问题,又弄一个新的组件。估计还是为了开发人员好,工作的复杂性和工资基本是成正比的,组件和api越混乱,开发人员的日子越有希望。几十年的软件工程积累,能解决的复杂问题基本都已经被解决掉了,所以必须创造一些问题,提高门槛。不然,软件开发人员早晚要和搬砖一样了。
下面是一个简单的例子
wxml:
<view>
<root-portal wx:if="{{ show }}">
<view class="dialog" bindtap="tabClose">
我是弹窗
</view>
</root-portal>
<button bindtap="tabShow">显示弹窗</button>
</view>
js:
const app = getApp()
Page({
data: {
show: false,
},
tabShow() {
this.setData({
show: true,
})
},
tabClose() {
this.setData({
show: false
})
},
})
wxss:
.dialog{
position: absolute;
background-color: #CCCCCC;
width: 80%;
height: 200rpx;
left: 10%;
top: 20%;
border-radius: 50rpx;
display: flex;
align-items: center;
justify-content: center;
}
-
微信小程序打开任意公众号文章 wx.openOfficialAccountArticlewx.openOfficialAccountArticle是微信小程序通过小程序打开任意公众号文章api,不包括临时链接等异常状态下的公众号文章,必须有点击行为才能调用成功。
-
wx.onBatteryInfoChange 监听电池信息变化事件 APIwx.onBatteryInfoChange 为微信小程序监听电池信息变化事件 API,,目前只支持监听省电模式的切换,目前仅 iOS 端支持。
-
live-pusher 实时音视频录制媒体组件live-pusher 微信小程序实时音视频录制媒体组件,v2.9.1 起支持同层渲染。需要用户授权 scope.camera、scope.record。
-
open-container容器转场动画组件open-container为微信小程序容器转场动画组件。
-
wx.setStorage 将数据存储在本地缓存中指定的 key 中微信小程序wx.setStorage 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
-
微信小程序wx.getExtConfig 的同步版本 APIwx.getExtConfig 为微信小程序的同步版本 API。
暂无评论,抢个沙发...