随身笔记
随身笔记

this.$router.go(-1) 传参

前提:要支持keep-alive

编辑App.vue

<keep-alive>
   <router-view v-if="$route.meta.keepAlive" />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" />

 

页面路由设置keepAlive:true:

{
  path: 'task-list',
  component: (resolve) => require(['../page/wwg/task-list.vue'], resolve),
  meta: {
   keepAlive:true
  }
},

 

新建eventbus.js

import Vue from 'vue'

/**
* 定义空的vue实例,作为 eventbus实现非父子组件之间的通信(vue2.x中去掉了broadcast)
*/
var eventBus = new Vue({});
export default eventBus;

 

后退的页面

import eventBus from '../service/eventbus.js';

methods:{
 goback(hospital){
   eventBus.$emit('choiceHospital',hospital);
   this.$router.go(-1);
 }
}

 

获取参数页面

import eventBus from '../service/eventbus.js';

//每次激活时
activated(){  //activated只有启动keepalive才能出发
 eventBus.$on('choiceHospital', function(data){
    this.nearestOrg = data;
 }.bind(this));
},

 

随身笔记

this.$router.go(-1) 传参
前提:要支持keep-alive 编辑App.vue <keep-alive> <router-view v-if="$route.meta.keepAlive" /> </keep-alive> <router-view v-if="!$route.meta.keep…
扫描二维码继续阅读
2021-06-18