Vue3+bootstrap5瀑布流,Masonry不生效的原因和解决方案

在Bootstrap 5.1.x的新版本中,官方提供了基于masonry的瀑布流解决方案,详见https://getbootstrap.com/docs/5.1/examples/masonry/。

根据教程,将以下js链接添加到 index.html,然后将 data-masonry=‘{“percentPosition”: true }’ 加到.row的代码块中

<script src="https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>

结果发现瀑布流的效果不生效,盲猜应该是没有动态加载的问题,于是google了一下,找到如下兼容VUE的解决方案。
首先,安装masonry依赖。

npm install masonry-layout

第二步,加载包

import Masonry from "masonry-layout"

第三步,初始化masonry

...
  mounted() {
    // initialize masonry
    var row = document.querySelector("[data-masonry]");
    new Masonry(row, {
      // options
      percentPosition: true,
    });
  },
...

最后一步,在.row标签中加入data-masonry元素

data-masonry='{"percentPosition": true }' 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值