javascript - Masalah parameter halaman halaman VueRouter2.0
高洛峰
高洛峰 2017-05-19 10:08:54
0
1
700

Saya menghadapi masalah apabila menggunakan VueRouter2.0 untuk paging
Pada masa ini, paging semasa dan bilangan paparan paging direkodkan dalam halaman dan pembolehubah saiz halaman halaman pertama selepas memuat semula halaman, dan halaman semasa tidak boleh direkodkan

代码:
    export default {
      components: { LayoutContent },
      data(){
        return {
            page: 1,
            pageSize: 20,
            total:0,
            list:[]
        }
      },
      created(){
        this.loadData()
      },
      methods:{
          ...mapActions([
            'list'
          ]),
          loadData(){
            let pageSize = this.pageSize
            let page = this.page
    
            this.list({page,pageSize}).then((data) => {
                this.total = data.total
                this.list = data.list
            })
          },
          pageSizeChange(size){
            this.pageSize=size
            this.loadData()
          },
          pageChange(page){
            this.page=page
            this.loadData()
          }
      }
    }
    

Jadi saya ingin menukarnya untuk memasukkan parameter selepas url untuk merekodkan halaman dan Saiz halaman Namun, selepas ujian, alamat url tidak akan berubah kerana parameter pertanyaan berubah...

代码:
export default {
  components: { LayoutContent },
  data(){
    return {
        page: 1,
        pageSize: 20,
        total:0,
        list:[]
    }
  },
  created(){
    this.loadData()
  },
  beforeRouteUpdate(to,from,next){
    this.page = to.query.page
    this.pageSize = to.query.pageSize
    this.loadData()
  },
  methods:{
      ...mapActions([
        'list'
      ]),
      loadData(){
        let pageSize = this.pageSize
        let page = this.page

        this.list({page,pageSize}).then((data) => {
            this.total = data.total
            this.list = data.list
        })
      },
      pageSizeChange(size){
        this.route(this.page, size)
      },
      pageChange(page){
        this.route(page,this.pageSize)
      },
      route(page,pageSize){
        this.$router.push({path:`/list`, query:{page,pageSize}})
      }
  }
}

Alamat halaman semasa ialah http://xxx/#list Selepas memanggil ini.$router.push({path:/list, pertanyaan:{page,pageSize}}), alamatnya masih http://xxx/#. senarai, bukan http:://xxx/#list?page=x&page... Pada akhirnya, tiada cara selain mengubah suai lokasi secara langsung. Saya tertanya-tanya sama ada VueRoute sendiri boleh melakukan ini? ? ?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
洪涛

Adakah lebih baik memantau terus halaman atau saiz halaman dalam jam tangan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan