VUE+Element+bus 带参数返回上一页 列表分页器页数根据反回的页数变化

能不用bus尽量别用 (有注释的可以)用router跳转然后用beforeRouteEnter接收路径和参数再用router跳转回去。
昨天项目中增加一个功能 点击列表中的按钮跳转到详情页再返回时数据总是在第一页,交给我来修改,思路就是路由带参跳转,再带参返回,但是返回上一页的功能是不能带参数的,然后我就在百度上找到了bus。


import Vue from 'vue'
var busData = new Vue({});
export default busData;

用法就是在需要传递的页面调用$emit方法 和$on 方法,在列表页面取出数据并清除

详情页:


//详情页--点击列表跳转过去的那个页面
import bus from '@/utils/bus'

mounted(){
 bus.$on('page', function (data) {
      bus.page = data
    })
},
methods:{
//返回上一页
    back() {
      bus.$emit('page', this.$route.params.page)
      this.$router.go(-1)
    },
}

列表页


import bus from '@/utils/bus'
created(){
    if (bus.page) {
      this.pageShow = false 
      this.currentPage = bus.page // 页码
      this.getData('mounted')
        // 控制分页重新展示
      this.$nextTick(() => {
        this.pageShow = true
      })
    }
    if (!bus.page) {
      this.getData('created')
    }
},
  beforeDestroy() {
  //页面离开时将bus里的页码重新赋值 不然刷新或者从别的页面回来还是跳转时的页码
    bus.$emit('page', 1)
    bus.$on('page', (data) => {
      bus.page = data
    })
  },

bus也可以在 main.js 里引入 全局使用 不会整的百度就行了

这些完成之后发现 列表的数据变了 但是页码还显示第一页然后就怎么解决 终于在百度上找的了这个博客

element的分页查询后页面数据变了,分页却没变的问题-CSDN博客

知道怎么解决之后就开始比葫芦画瓢


     <el-pagination background
                         layout="total, sizes, prev, pager, next, jumper"
                         :total="total"
                         :current-page="currentPage"
                         @size-change="handleSizeChange"
                         @current-change="handleCurrentChange"
                         v-if="pageShow" />

:current-page="currentPage" 这里是重点


data(){
    return {
     currentPage: 1,
     pageShow: true, // 页码展示
    }
},
 mounted() {
    if (bus.page) {
      this.pageShow = false
      this.currentPage = bus.page
      this.getData()
      bus.$off('page')
      this.$nextTick(() => {
        this.pageShow = true
      })
    }
  },

然后就解决了。接着改bug

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值