开发微信小程序时,遇到的坑 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

开发微信小程序时,遇到的坑

发表时间:2021-1-5

发布人:葵宇科技

浏览次数:34

最近在开发小程序,遇到一些坑,总结出来跟大家分享一下,我这里使用的是mpvue框架,mpvue也有不少坑~

1.scroll-view的属性设置,scroll-y设置,不管我们设置scroll-y=true还是false,其实都会滚动的,要想设置scroll-y为false,我们需要用数据绑定的形式来设置才会起效:scroll-y=false

2.有时候明明设置 一个变量,当它为false的时候才展示某个元素,比如 isHide?hide:show,有时候会发现,在页面中,还是会先渲染出来一下,然后才被隐藏了,原因是,最开始的时候,data数据还没有初始化完成,这个时候,isHide是undefined,undefined变成boolean值,就是false,所以最开始还是show了,为了解决这种情况,我们可以使用全等符号。 isHide=== true ?hide:show

3.显示image的时候,如果我们设置了mode=widthFix,有时候在渲染的时候会看到图片有一个拉伸过程,然后才变成我们期望的大小,解决这个问题,可以给image添加height:auto;或者使用background-image来展示,需要注意的是background-image不支持本地路径,可以支持本地base64或者服务器返回来的图片

4.在父组件跳转到子组件的时候,使用navigateTo方法,携带参数,如果参数里面带特殊字符,会被截断,导致我们在子组件获取到的参数不正确。解决办法就是,通过encodeURIConponent,对参数进行编码,然后在子组件再进行解码,其实跟我们url传递参数是一样的,都需要注意这一点。

5.cover-view组件IOS可以支持滚动了,不过需要7.0以上版本的微信。

6.单页面目前也是可以支持自定义导航栏,同样需要7.0以上版本的微信。

7.mpvue的坑,双向数据绑定的时候,有些安卓机会卡顿。可以通过防抖赋值或者v-model.lazy,不使用双向绑定。

8.mpvue渲染速度比较慢,有时候会出现数据改变了,但是页面不渲染的情况。

9.组件默认不换行,加上这一行代码,可以让它换行white-space:pre-wrap;

10. 第三方组件样式修改:

  以iview webapp为例,不能直接通过其class的类名直接修改组件样式,可通过i-class来给组件添加类名,通过i-class来修改样式。

全文完,大家可以说说自己开发过程中遇到了哪些坑,以及解决办法^_^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<i-page i-class="ipage" current="{{ page }}" total="{{ total }}" bind:change="handleChange">
   <view slot="prev">
        <i-icon type="return">i-icon>
          上一页
       view>
       <view slot="next">
          下一页
       <i-icon type="enter">i-icon>
   view>
i-page>
 
<style>
.ipage{
  height: 64px!important;
}
style>

11. 使用wepy时,异步更新数据,手动刷新dom的时候需要使用 this.$apply()

相关案例查看更多