首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VUE卡渲染图片两次

VUE卡渲染图片两次
EN

Stack Overflow用户
提问于 2020-12-30 18:04:38
回答 1查看 32关注 0票数 0

我有一个新闻网站,呈现每个卡片和图片两次。

https://codepen.io/Teeke/pen/QWKQydz

有一个名为doubleUp的组件

代码语言:javascript
复制
   created() {
    this.doubleUp()
   },

这两行是否将图片渲染两次?:

代码语言:javascript
复制
    newImage.id  = image.id * 2
        this.images.push(newImage)

我试过将*2值改为* 1或* 6,但这对渲染的卡片数量没有影响。我不确定为什么图片渲染了两次。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 18:12:38

doubleUp函数使您的图像显示两次。this.images已经有了图像数组。你又一次把每个图像都推到了每个循环中。

代码语言:javascript
复制
doubleUp() {
  //fake a bunch of data
  let localImages = JSON.parse(JSON.stringify(this.images))

  localImages.forEach((image) => {
    let newImage = image
    newImage.id  = image.id * 2
    this.images.push(newImage)
  })

  setTimeout(() => {
    this.loading = false
    //then run replacePleaceholders
    this.replacePlaceholders()
  }, 200)
},

如果你想保持图像数组不变,并且只想加倍id,你必须这样做。

代码语言:javascript
复制
doubleUp() {
  //fake a bunch of data
  let localImages = JSON.parse(JSON.stringify(this.images))
  this.images = []; // <------------------------
  localImages.forEach((image) => {
    let newImage = image
    newImage.id  = image.id * 2
    this.images.push(newImage)
  })

  setTimeout(() => {
    this.loading = false
    //then run replacePleaceholders
    this.replacePlaceholders()
  }, 200)
},
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65505176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档