vue多个组件实现切换

1.装饰器的写法

<template>
  <div class="home">
    <ElButton v-for="item in info" :key="item.name" @click="form(item.value)">
        {
  {item.name}}
    </ElButton>

    <Component :is="componentShow" />
  </div>
</template>

<script>
import { Component, Vue } from "vue-property-decorator";
import FormDemo from "../components/formDemo"; // 引入组件1
import Cartogram from "../components/cartogram"; //引入组件2

@Component({
  components: {
    FormDemo,
    Cartogram,
  },
})
export default class TheHome extends Vue {
  componentShow = null;

  info = [
    { name: "表单", value: FormDemo },
    { name: "统计", value: Cartogram },
  ];
        
   // 切换的方法
  form(val) {
    this.componentShow = val; //把组件名赋值给公用组件
  }
}
</script>

 2.正常写法


                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你的组件要支持多个分页,可以考虑使用Vue.js的插件vue-pagination来实现。这个插件是一个轻量级的分页组件,可以很方便地集成到你的Vue应用程序中。 首先,在你的Vue应用程序中安装vue-pagination插件。可以通过npm或者yarn来安装: ```bash npm install vue-pagination # 或者 yarn add vue-pagination ``` 然后在你的组件中引入vue-pagination组件: ```javascript import Pagination from 'vue-pagination' ``` 接下来,你需要在组件中定义一个数组来存储所有的数据和分页信息。每当用户切换分页时,你需要更新这个数组,以便显示正确的数据。 ```javascript data() { return { items: [], // 所有数据 totalPages: 0, // 总页数 currentPage: 1, // 当前页 pageSize: 10, // 每页显示的数量 } }, ``` 在组件中,你可以使用vue-pagination组件来渲染分页。你需要传递一些属性来指定总页数、当前页数、每页显示的数量等。 ```html <pagination :total-pages="totalPages" :current-page="currentPage" :page-size="pageSize" @page-changed="onPageChanged" ></pagination> ``` 在这个例子中,我们还定义了一个onPageChanged方法,它会在用户切换分页时被调用。在这个方法中,你可以更新items数组,并且重新计算totalPages。 ```javascript methods: { onPageChanged(page) { // 更新当前页 this.currentPage = page // 更新数据 this.loadItems() }, loadItems() { // 根据当前页和每页显示的数量来获取数据 const start = (this.currentPage - 1) * this.pageSize const end = start + this.pageSize this.items = allItems.slice(start, end) // 计算总页数 this.totalPages = Math.ceil(allItems.length / this.pageSize) } } ``` 这就是在Vue组件实现多个分页的基本步骤。你可以根据自己的需要来调整和扩展这个例子。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值