【原创纯手打】如何用VUE在拖拽小框中同步更换壁纸(附代码)

先看效果图

 

先安装vue-drag-resize插件,如果不安装插件,我们写鼠标拖拽就会相对麻烦一些

cnpm install --save vue-drag-resize

然后在main.js中加入

import VueDragResize from 'vue-drag-resize';
Vue.component('vue-drag-resize', VueDragResize);

这样当引入的时候只需要import VueDragResize from "vue-drag-resize";就好了

当排版布局后,我们可以把鼠标点击的拖拽小框的图片排列成一个数组,然后当点击时获取其中的图片链接,并添加到新属性中,然后在背景中url=新属性

<template>
  <div>
    <div class="box" :style="{'background':'url('+arr+')','background-size':'cover'}" >
      <VueDragResize
      :isActive="true" 
      :isResizable="false" 
      class="rice" 
      :style="{'background':'url('+arr+')','background-size':'cover'}" 
      >
        <img :src="item" v-for="(item,index) in bg" :key="index" @click="top(item)">
      </VueDragResize>
    </div>
  </div>
</template>
<script>
import VueDragResize from "vue-drag-resize";
export default {
  name: "Vue",
  data() {
    return {
      bg:[
        '/img/wall-0.jpg',
        '/img/wall-1.jpg',
        '/img/wall-2.jpg',
      ],
      arr:""
    };
  },
  mounted() {},
  methods: {
    top(item){
      this.arr=item
    }
  },
  components: {
    VueDragResize,
  },
};
</script>
<style lang='scss' scoped>
body,html{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.rice{
  width: 630px;
  height: 430px;
  border: 20px solid black;
  display: flex;
}
img{
  width: 130px;
  height: 130px;
  border: 1px solid black;
}
.box{
  width: 100%;
  height: 1200px;
  background-size : contain;
}
</style>

成功!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值