我正在使用v-for
循环来显示分页链接 -
<div v-for="n in this.totalPages">
<router-link :to="'/top/pages/' + n" @click.native="getPaginatedUser">{{ n }}</router-link>
</div>
每个链接都显示在新行中,如下所示 -
1
阿拉伯数字
有什么方法可以在单行中显示它们吗? 像这样 -
1 阿拉伯数字
谢谢。
每个链接显示在新行中的原因是因为您正在迭代一个div
元素,该元素是一个块元素。您可以使用像span
或 Vue 特定template
这样的内联元素,它不会呈现任何额外的标记,或者您可以只迭代router
链接
<router-link
:to="'/top/pages/' + n"
@click.native="getPaginatedUser"
:key="n"
v-for="n in this.totalPages"
>{{ n }}</router-link>
使用template
而不是div
。
<template v-for="n in this.totalPages">
<router-link :to="'/top/pages/' + n" @click.native="getPaginatedUser" :key="n">{{ n }}</router-link>
</template>
您可以将组件div 更改为 span,或将div 的样式更改为:
display: inline-block;
只需将v-for
移动到router-link
组件:
<div>
<router-link v-for="n in this.totalPages" :key="n" :to="'/top/pages/' + n" @click.native="getPaginatedUser">{{ n }}</router-link>
</div>
默认情况下,router-link
组件将呈现一个<a>
标记,然后您可以通过 css 设置该标记的样式以获取所需的布局。
例:
new Vue({
el: '#root',
router: new VueRouter()
});
a + a { margin-left: 0.3rem; }
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<div id="root">
<router-link v-for="id in 10" :key="id" :to="'/foo/' + id">{{id}}</router-link>
</div>
将类添加到模板/div 并设置其样式:
display: flex;
和 v-表示路由器链路而不是div。 它应该将您的分页内联!