微信动态中的背景图更换

初衷:

图一中的红框中的部分,作为用户自定义的背景图,如果用户没有上传也会为其自动设置一张背景图,当用户点击时则会出现图二中的选项 ,点击取消则选项消失,点击从相册选择则会跳转本机的相册,选择照片后会切换背景图片,如图三

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现原理:

1.在页面中添加用于图片上传的插件,并不希望他显示,所以为他设置隐藏,当我们点击大盒子时触发changeBg事件(也就是当我们点击上面图一时要触发的事件)

在这里插入图片描述

2.当chageBg事件触发时会弹出上面介绍的图二中的选项框,蓝色框中是当我们点击‘从相册中选择’时会用代码触发图片上传插件中的单击事件(事件触发后悔弹出选择图片对话框,可以选择自己喜欢的图片进行上传)

在这里插入图片描述

3.选择后图片会自动进行上传,上传成功后会执行下面的代码,在这个方法中我们调用了一个函数,同时我们将ret作为参数传递过去,ret中就是上传成功后返回图片新的地址等信息(因为实在weui组件中的this不是指的Vue实例,所以我们将指向Vue实例的this赋值给self)

在这里插入图片描述

4.(1)submit事件中首先更新数据库中的背景图像,调用接口,将图片的id以及图片新的地址传递过去成功后执行本地背景图更新

在这里插入图片描述

4.(2)submit事件中更新本地的背景图像,调用store中的方法并且传值,值是一个对象通过对象的展开运算符(…)将对象的属性和值完全的复制一份给本对象,但浙江对象中的bgurl属性值换成行的图片路径

在这里插入图片描述

5.上面调用了store中的srtUser方法,此方法有调用mutations中的setUser方法将传递过来的对象重新赋值,当state中的值变化后又会重新渲染DOM

在这里插入图片描述

6.在盒子中的背景图是动态属性,但是动态属性一旦发生变化,图片也会发生变化进而实现了背景图的自定义上传

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

几何心凉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值