微信小程序-自定义组件与第三方组件vant-weapp

1、在小程序中设置上传图片功能wx.chooseImage(Object object)

使用微信小程序自带的API,wx.chooseImage(Object object)

可以实现从本地相册选择图片或使用相机拍照。

(1)在任意的一个你想上传图片的页面的js文件最后处,写入

uploadImg(){
    wx.chooseImage({
      success: function(res) {
        console.log(res)
        this.setData({
          filePath:res.tempFilePaths[0]
        })
      }.bind(this), 
    })
  }

(2)然后在该页面的 wxml文件中,进行调用

<image src="{{filePath}}"></image>
<button bindtap="uploadImg">上传图片</button>

 (3)效果

2、小程序请求数据

使用自带方法request请求数据,可以新建一个util文件夹,然后建立一个js文件tools,可以将封装好的request请求写入,方便调用。

/**
 * 把request请求封装成promise对象
 */
function request(url,data){
  return new Promise((resolve,reject)=>{
    wx.request({
      url,
      data,
      success:resolve,
      fail:reject
    })
  })
}

module.exports = {
  request
}

然后可以在需要调用接口的页面的onload函数里面进行使用,这里需要先导入后使用

const {request} = require('../../utils/tools.js')
onLoad: function (options) {
  
    //通过then进行调用
    request('http://net-music.penkuoer.com/banner',{})
      .then(res=>{
        // console.log(res)
        this.setData({
          images:res.data.banners
        })
      })
  },

3、如何获取当前输入框的值?

(1)先写一个输入框,然后添加触发输入框的一个事件

<input bindinput="changeVal" data-id="username" placeholder="请输入用户名"></input>
<input bindinput="changeVal" password="true" data-id="password" placeholder="请输入密码"></input>
<button bindtap="uploadImg">上传图片</button>
<button bindtap="sumHandle">提交</button>

 (2)定义事件

 changeVal(e){
    console.log(e)
    var temData={}//设置一个临时的对象,动态的为它赋值属性
    temData[e.target.dataset.id]=e.detail.value
    this.setData(temData)
  },
  sumHandle(){
    console.log(this.data)
  }

(3)结果如下,此时就能打印出输入框的内容

 4、小程序使用第三方插件vant-weapp

(1)需要在文件所在的cmd窗口中执行:npm init -y

(2)然后通过npm安装第三方包:npm i vant-weapp -S --production

(3)然后在微信开发者工具平台的工具选项中选择构建

 (4)想要使用vant-weapp中的按钮,需要在app.jsonindex.json中引入组件

"usingComponents": {
  "van-button": "/miniprogram_npm/vant-weapp/button/index"
}

 然后在wxml文件中进行使用

-------按钮类型

支持defaultprimaryinfowarningdanger五种类型,默认为default

<vant-button type="danger">我是按钮</vant-button>

5、可以自定义组件并调用

(1)首先先创建一个自定义组件的文件夹

在自定义组件的wxml中写入:

<!--components/user/index.wxml-->
<view>
    <image class="coverImg"></image>
    <text class="title">哪吒传奇</text>
    <text class="desc">是什么呢</text>
</view>

然后可以在首页或者其他页面对自定义组件进行调用:

效果如下:

 

 -------组件循环

在首页的wxml文件中对movies组件做一个循环

 <movies wx:for="{{movies}}" detail="{{item}}"></movies>

在首页的js文件中调用电影接口

request('https://api-m.mtime.cn/showtime/LocationMovies.api?locationId=290',{})
    .then(res=>{
      this.setData({
        movies:res.data.ms
      })
    })

为组件设置为一个变量,也就是调用接口

<view>
  <image class="coverImg" src="{{detail.img}}"></image>
  <text class="title">{{detail.tCn}}</text>
  <text class="desc">{{detail.commonSpecial}}</text>
</view>

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suoh's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值