vue this.$router.go(-1); 或者 this.$router.back() 返回時怎麼帶參數

1、聲明一個 空的Vue模塊 goBackEntity


import Vue from 'vue'
 
/**
 * 定義空的vue實例,作爲 goBackEntity實現非父子組件之間的通信(vue2.x中去掉了broadcast)
 */
var goBackEntity = new Vue({});
export default goBackEntity;

2、在需要傳參數的頁面

import eventBus from '../../utils/goBackEntity.js';
 
goBack(value){
  eventBus.$emit('id',value);  //傳遞一個map,id是key,value是value
  this.$router.go(-1);
},

3、在接收頁面

 import eventBus from '../../utils/goBackEntity.js';
 
 activated(){
  //根據key名獲取傳遞回來的參數,data就是map中對應的key'id'的值
  goBackEntity.$on('id', function(data){
    console.log(data,"data");
  }.bind(this));
},

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章