【发布时间】:2020-07-16 13:44:20
【问题描述】:
我有这个 wordpress 自定义主题的代码。我正在使用 REST API 和 Vue.js 获取数据,以使 DOM 在单击事件时动态更改。我遇到了一个小问题,我无法使用我想要的布局显示数据,这是因为当我在要运行我的 vue 应用程序的主行上使用 v-if 时,这将复制该行,但我只想拥有布局所需的列。我正在使用引导程序 4,列是col-*-3,所以在一行内应该有四列。
我该如何解决这个问题?
<div class="row bg-light p-5 mt-3" v-for="cat in catList" >
<div class="col-sm-12 col-md-12 col-lg-12 p-0">
<div class="dropdown">
<a class="text-uppercase dropdown-toggle dropdown-toggle-split" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<?php _e('Collezioni'); ?>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
<a v-on:click="displayCategory(cat.id)" class="dropdown-item" href="#">{{ cat.name }}</a>
</div>
</div>
</div>
<div class="col-sm-12 col-md-3 col-lg-3 col-background shadow-lg mt-5 mb-5 p-0" data-bg-url="" style="height:50vh;"></div>
<div class="col-sm-12 col-md-3 col-lg-3 col-offset-top shadow-lg darkblue position-relative mt-5 mb-5 p-5">
<small class="text-white m-0"></small>
<h4 class="font-weight-bold text-white mt-2 mb-0" v-if="cat.name">{{ cat.name }}</h4>
<h4 class="font-weight-bold text-white mt-2 mb-0" v-else>{{ cat.title }}</h4>
<p v-if="cat.description">{{ cat.description }}</p>
<p v-else>{{ cat.content }}</p>
</div>
</div>
更新
如果我使用 div <div v-for="cat in catList"> 来包装内容,布局将会中断。看画面
【问题讨论】:
-
只需将
v-for移动到div里面...就像这样<div class="row bg-light p-5 mt-3"><div v-for="cat in catList">...</div></div> -
我试过了,但是添加的
<div v-for="">会弄乱布局。请参阅问题中的附加屏幕 -
你能解决这个问题以便我重现它吗?
-
这里是一个 jsfiddle:jsfiddle.net/m10bw6ko/3 通常使用 php 而没有 vue.js 我将拥有三个内联列。这些列是两个 col 3,带有一点 css 以创建一个很好的重叠效果。