微信小程序知识点总结

1.calc()

允许计算 CSS 的属性值,比如动态计算长度值。
在微信小程序中涉及到全屏适配的问题,试了很多方法没有结果,最后决定用100vh-500rpx来实现,这时候就需要用到calc进行计算
vh 即viewpoint height,视窗高度,1vh=视窗高度的1% 500rpx为算出来的页面其他元素的高度
min-height:calc(100vh - 500rpx) 
tips: min-height高度不能继承,如果内部元素需要继承,如下操作即可
min-height:calc((100vh - 500rpx)*0.5 ) 

2.封装组件

子向父传值 通过triggerEvent触发

父级页面
<play-list bindfavouriteChange="favouriteChange"></play-list>
favouriteChange(e){
	// 取到组件中通过{}传入的值,如index,subjectType等
}
子页面(组件)
 this.triggerEvent('favouriteChange',{index: index,subjectType:list.subjectType})

3.如何在微信小程序中向数组中指定对象的属性传值?

this.setData({[`readWordsList[${index}].isStore`] : isStore})

4.关于 -webkit-overflow-scrolling: touch

-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果.
auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。(from MDN)

我在首页滚动中加个这个属性,结果导致上滑的时候出现花屏的问题。排查好久找到这个问题,特意记录一下

5关注同一主体的公众号功能

<official-account></official-account>
这个组件限定最小宽度为300px,高度为定值84px,样式几乎不可调,可考虑在外嵌套一个view进行样式的微调。
最让人抓狂的是这个组件的显示需要固定的场景值,详见微信开发文档。这样就给用户一会显示一会不显示的错觉。

6.微信小程序正向计时

使用setInterval 1000毫秒加1即可
分享一下补零和时间格式化函数

// 补零
padZero(str, dig = 2) {
    str = "" + str;

    while (str.length < dig) {
      str = "0" + str;
    }
    return str;
  },
 // 时间格式化 传入毫秒
  parseMs(ms) {
    if (typeof ms !== "number") {
      throw new TypeError("Expected a number");
    }

    const roundTowardsZero = ms > 0 ? Math.floor : Math.ceil;
    const days = roundTowardsZero(ms / 86400000);
    const hours = this.padZero(roundTowardsZero(ms / 3600000) % 24);
    const minutes = this.padZero(roundTowardsZero(ms / 60000) % 60);
    const seconds = this.padZero(roundTowardsZero(ms / 1000) % 60);
    return { hours, minutes, seconds };
  }

7.cover-view

cover-view层级很高,可用于覆盖canvas,但是有一个很隐蔽的bug, 经测试, 在华为p20 pro 中 上下并排两个cover-view,中间有间隙,不会紧密贴合。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Uniapp是什么? Uniapp是一个基于Vue.js开发的多端应用框架,它可以开发出一套代码,同时支持编译成小程序、H5、App等多个平台,实现一次开发,多端部署。 2. 微信小程序是什么? 微信小程序是微信公众平台提供的一种新的应用形态,它不需要下载安装即可使用,具有轻便、快捷的特点,可以在微信中直接使用。 3. Uniapp如何开发微信小程序? 首先,需要在Uniapp中选择微信小程序模板进行项目创建,然后在Uniapp中编写代码,包括页面、组件、API等。最后,使用微信开发者工具将Uniapp项目编译成微信小程序。 4. Uniapp支持哪些微信小程序特性? Uniapp支持微信小程序的大部分特性,包括WXSS样式、WXML模板、JS逻辑代码等。同时,Uniapp还提供了一些特有的API,如跨页面通信、全局变量等。 5. 如何在Uniapp中使用微信小程序的API? 在Uniapp中使用微信小程序的API需要借助Uniapp提供的封装函数。Uniapp封装了一些常用的微信小程序API,如wx.request、wx.showToast等,可以直接在Uniapp中调用。 6. 如何在Uniapp中使用微信小程序的组件? 在Uniapp中使用微信小程序的组件需要将组件代码复制到Uniapp中,并进行相应的修改。同时,Uniapp也提供了一些封装好的组件,如uni-list、uni-icons等,方便开发者使用。 7. 如何在Uniapp中使用微信小程序的插件? 在Uniapp中使用微信小程序的插件需要安装插件并进行相应的配置。Uniapp支持使用微信小程序的插件,如wxParse、wxCharts等。 8. 如何在Uniapp中进行微信小程序的调试和发布? 在Uniapp中进行微信小程序的调试和发布需要使用微信开发者工具。开发者可以在Uniapp中进行代码编写和调试,然后使用微信开发者工具将Uniapp项目编译成微信小程序,最后在微信开发者工具中进行测试和发布。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值