美文网首页
小程序脱坑笔记

小程序脱坑笔记

作者: 掘墓人 | 来源:发表于2019-11-19 19:14 被阅读0次

最近又写了两个小程序,一个是图片处理的,功能就是国庆时候比较火的「加国旗」;另一个是视频相关的,开发期间又遇到一些坑,记录下来,避免以后再次踩坑。

页面传值

传值

例如现在有两个页面 A 和 B,要从 A 跳转到 B,在 A 页面使用 navigator 组件进行跳转,代码如下:

<navigator url="/pages/video-detail/video-detail?videoId={{item.videoId}}">

接收值

那么在 B 页面 onLoad 方法中即可获取到传递的值 item.videoId,代码如下:

onLoad: function (options) {
    var videoId = options.videoId
}

for循环传参

列表跳转详情页

可以参考上面说到的页面传值方式,将列表的 item 使用 navigator 组件包裹起来,设置跳转 url 和参数。

自定义点击

小程序的点击事件设置是在 wxml 中定义点击事件,代码如下:

<view bindtap="getDetail">

然后在 js 文件中完成点击事件的处理,代码如下:

getDetail: function(e) {

}

但是小程序点击方法没办法传递参数,那怎么解决呢?

幸好,小程序组件的公共属性有 data-* 属性,使用如下:

wxml:

<view bindtap="getDetail" data-itemid="{{item.itemId}}">

js:

getDetail: function(e) {
    var itemId = e.currentTarget.dataset.itemid
}

注意:取值的时候,detaset 后面的的变量只认小写。

图片相关

本地选图

即使选择的是单张图,返回的结果也是一个数组,需要自己处理将其取出。

wx.chooseImage({
  count: 1,
  success: function(res) {
    const tempFilePaths = res.tempFilePaths
    var path = tempFilePaths[0]
  },
})

图片处理

使用 canvas 操作图片时,在不同的基础库版本下会有不同的效果,简单说就是可能显示空白,因为找不到图片。

稳妥的操作是先获取图片的信息,然后找到图片的本地缓存路径,使用缓存路径对其进行操作即可,具体代码如下:

wx.getImageInfo({
  src: imgUrl,
  success (res) {
    var path = res.path
  }
})

导航栏

小程序自定义顶部导航栏之后,会影响原生的下拉刷新效果:

  • Android 设备下拉会将整个导航栏下拉
  • iOS 设备影响较小

要想解决这个问题,有两个办法:

  • 放弃自定义顶部导航栏,即可保证原生下拉刷新正常使用
  • 使用自定义顶部导航栏,但是需要自定义下拉刷新

文本相关

文本换行

由于数据是后端返回的,且有换行,最开始直接使用的是 WeUI 的 article 组件,文本是包裹在 view 组件内的,不会自动换行,解决的方法很简单,将 view 换成 text 组件即可。

text组件

还是 WeUI 的article 组件里,text 组件书写要写成一行,代码如下:

<view class="weui-article__section">
  <view class="weui-article__h2">这是标题</view>
  <text class="weui-article__p">这是文本内容</text>
</view>

如果格式不对,可能会导致有上边距,很奇怪,但是实际体验就是这样,错误的代码如下:

<view class="weui-article__section">
  <view class="weui-article__h2">这是标题</view>
  <text class="weui-article__p">
    这是文本内容
  </text>
</view>

本文将持续更新,欢迎沟通交流。

欢迎访问的个人博客:掘墓人的小铲子

相关文章

  • 小程序脱坑笔记

    最近又写了两个小程序,一个是图片处理的,功能就是国庆时候比较火的「加国旗」;另一个是视频相关的,开发期间又遇到一些...

  • 微信小程序整理笔记

    跳一跳的出现,带来了小程序又一个春天。 今天整理小程序的各种组件和api。整理完笔记应该要开始我的小程序填坑之旅了...

  • 小程序填坑笔记

    1、按钮无法点击,提示 Do not have xx handler in current page方法在js里面...

  • 小程序踩坑笔记

    注意: 作者尚出于对小程序的摸索结算, 观点和经验会尽量附上依据和出处, 内容的准确性需要自行斟酌. 内容会不断加...

  • 小程序iView weapp 中i-class 覆盖样式无效解决

    mpvue+iview weapp 微信小程序摸坑笔记 微信小程序中,关于第三方组件,不允许直接修改样式,但是可以...

  • 别给我发小游戏了(我控制不住我自己啊)

    ——好不容易脱坑“跳一跳”,却躲不过“欢乐球球”。 突然有一天,微信就有了小程序,有了“跳一跳”,从此便入了坑。就...

  • 工地施工狗的转行之路Day1

    大狗奇推荐我来玩简书,他已经成功脱坑,我不像他有那么大的魄力裸辞去自学,定个小目标,在过年之前初步入坑程序员,明年...

  • 小程序开发踩坑笔记

    movable-area穿透性问题 showActionSheet弹窗操作菜单问题 页面上下分区问题 wxss统一...

  • swiper 的一堆坑

    最近写小程序经常用swiper,结果发现,坑好多啊。。。 坑1.swiper-item的100%宽高 小程序默认s...

  • ECharts脱坑笔记(一)

    ECharts设置容器大小的时候,最好不要直接给id写css,另外给它一个class写css,这样可以避免用百分比...

网友评论

      本文标题:小程序脱坑笔记

      本文链接:https://www.haomeiwen.com/subject/kpwyictx.html