【问题标题】:Masonry with Vue JS用 Vue JS 砌体
【发布时间】:2021-11-09 23:39:26
【问题描述】:

当我加载页面时,网格如下所示:

只有当我重新调整屏幕大小时(我左右拖动边框)它看起来没问题:

这是我的组件中的代码:

<template>
  <div class="grid">
    <div class="grid-item" v-for="(data, index) in data" :key="index">
      <router-link :to="{ name: 'painting', params: { id: index } }">
        <img v-bind:src="publicURL + data.images.thumbnail.substring(1)" />
      </router-link>
    </div>
  </div>
</template>

<script>
import data from "../assets/data.json";

export default {
  name: "Galleria",
  components: {},
  created() {
    this.publicURL = "https://6e222.csb.app";
  },
  mounted() {
    let grid = document.querySelector(".grid");
    this.msnry = new Masonry(grid, {
      columnWidth: 25,
    });
  },
  data() {
    return {
      data: data,
    };
  },
};
</script>

【问题讨论】:

    标签: vue.js masonry


    【解决方案1】:

    这是因为你的块的高度取决于图像的高度 在第一种情况下,砌体尝试读取元素的高度并仅获取填充值

    您需要等待图片加载

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2021-03-06
    • 2013-09-21
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 2021-09-19
    • 2019-08-06
    • 1970-01-01
    • 2013-05-06
    相关资源
    最近更新 更多