vue中我怎么再次获取到v-for的每一项数据做再次操作?

发布于 2022-09-07 19:41:43 字数 1425 浏览 18 评论 0

问题描述

我这场景是几个圆围绕一个大圆拖动其中随便一个圆所有的圆都统一滚动360度,下面这段代码是算出了小圆的角度,但是我拖动事件触发只能操作其中一个小圆的滚动

问题出现的环境背景及自己尝试过哪些方法

问题是,我需要随便拖动哪个小圆它本身及其他圆都滚动360度,目前只实现了拖动哪个只滚动一个,我使用ref也操作过了获取不到,我目前的思路是怎么事件触发能获取它的属性然后改变就像下方代码拖动当前已经生效了

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

<ul class="menu">
      <v-touch v-for="(img,index) in imgDeg" :key="index" @swipeleft="swiperleft(img)"
        @swiperight="swiperright(img)" :style="{'transform': 'rotate(' + img.deg + 'deg)'}" tag="li">
        <div :style="{'backgroundColor': img.color,'transform': 'rotate(' + img.textDeg + 'deg)'}">{{img.img}}</div>
      </v-touch>
 </ul>
 
data () {
    return {
     imgs: ['助教','做客教授','教授','同系','同班','同楼','校友','朋友','校草','校花','论文导师',],
     imgDeg: [],
    }
  },
 methods: {
     swiperleft (img){
      console.log()
      img.deg = img.deg - 360;
    },
    swiperright (img){
      img.deg = img.deg + 360;
    }
},
mounted (){ 
  this.imgs.forEach((index,l) => {
      let deg = 360 / this.imgs.length;
      //console.log(deg);
      this.imgDeg.push({
        'img':index,
        'deg': deg * l,
        'color': 'rgb(' + this.randomFrom(43,161) + ',' + this.randomFrom(140,217) + ',' + this.randomFrom(155,190) + ')',
        'textDeg': (deg * l) - (deg * l * 2),
      })
    })
}



你期待的结果是什么?实际看到的错误信息又是什么?

事件触发,我怎么才能拿到它的每一项的数据,然后操作他们....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡墨 2022-09-14 19:41:43

我解决了,直接操作原始数组:

swiperleft (){
  this.imgDeg.forEach(index => {
    index.deg = index.deg - 360;  
  })
},
swiperright (){
  this.imgDeg.forEach(index => {
    index.deg = index.deg + 360;  
  })
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文