微信小程序 wepy wx.previewImage 封装

本文出自:

http://blog.csdn.net/wyk304443164

imagebrowse.wpy

<style lang="less">
  .clear {
    clear: both;
  }
</style>

<template>
  <view>
    <block wx:for="{{imagelistbrowse}}" wx:for-item="image" wx:key="index">
      <image
        src="{{image}}"
        data-src="{{image}}"
        @tap="previewImage"
        class="{{imageclass}}">
      </image>
    </block>
    <view class="clear"></view>
  </view>
</template>

<script>
  /* eslint-disable comma-dangle */

  import wepy from 'wepy'

  export default class imagebrowse extends wepy.component {
    props = {
      imagelistbrowse: {
//        coerce: function (v) {
//          console.log('vvvvvvv    ' + v)
//          return v ? [].concat(v) : []
//        },
        type: Array,
        default: [],
//        twoWay: true
      },
      imageclass: ''
    }

    data = {}

    events = {}

    methods = {
      previewImage (e) {
        console.log(e)
        let current = e.target.dataset.src
        wx.previewImage({
          current: current, // 当前显示图片的http链接
          urls: this.imagelistbrowse // 需要预览的图片http链接列表
        })
      }
    }

    onLoad () {
      console.log('onLoad   ' + JSON.stringify(this.imagelistbrowse))
    }

    onShow () {
      console.log('onShow   ' + JSON.stringify(this.imagelistbrowse))
    }
  }
</script>

使用:

<style lang="less">
  @import "../style/mixin";

  .user-img {
    .wh(75px, 75px);
    border-radius: 50%;
    border: 5px solid rgba(215, 215, 215, 0.8);
    margin-top: 20px;
  }

</style>

<template>
    <repeat>
      <imagebrowse
        :imageclass="'user-img'"
        :imagelistbrowse.sync="userPhoto">
      </imagebrowse>
    </repeat>  
</template>

<script>
  import wepy from 'wepy'
  import ImageBrowse from '../components/imagebrowse'

  export default class homelist extends wepy.page {

    ...

    components = {
      imagebrowse: ImageBrowse,
    }

    data = {
      userPhoto: [], // 注意这边,因为是为了显示列表,所以是list
      }

    computed = {}

    methods = {

    }

    events = {}

    onLoad () {
    }

    onShow () {
      this.$parent.getUserInfo(u => {
        this.userInfo = u
        this.userPhoto = u.avatarUrl ? [].concat(u.avatarUrl) : []
        this.$apply()
      })
    };
  }
</script>

刚学Vue 和 wepy 所以组件传值踩了点坑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值