84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
Ich habe viele Informationen gefunden, und die Testnutzung von Routern ist nichts anderes als die folgenden zwei:
//指定跳转到user页面,可带参数 router.go({name: 'user', params: {userId: 1}}); //不知道页面名,按历史记录跳转到上一页(这种情况应该怎么带参数???) router.go(-1);
问题已经解决了! (并非回退操作就不能带参数,如有需要的参考此类做法)
我目前做的是养老服务的互联网产品,在多个页面可以进入“医院列表”页面,选择要服务的医院,然后回退回去。比如“首页”和“预约”都可以进入“医院”页面。
这意味着“医院列表页”,并不知道也不需要知道,访问的上一个页面是哪个页面,只需要选择完医院之后返回就可以了。当然也可以通过传参来告诉医院列表页,上一个页面的name是什么,然后再回退回去。但如果页面多了,想象一下医院列表页的判断代码会有多少?
eventBus
import Vue from 'vue' /** * 定义空的vue实例,作为 eventbus实现非父子组件之间的通信(vue2.x中去掉了broadcast) */ var eventBus = new Vue({}); export default eventBus;
eventBus.$emit
import eventBus from '../service/eventbus.js'; methods:{ //列表选中具体医院的点击事件 goback(hospital){ //传递一个map,choiceHospital是key,hospital是value eventBus.$emit('choiceHospital',hospital); //调用router回退页面 this.$router.go(-1); } }
import eventBus from '../service/eventbus.js'; //每次激活时 activated(){ //根据key名获取传递回来的参数,data就是map eventBus.$on('choiceHospital', function(data){ //赋值给首页的附近医院数据模型 this.nearestOrg = data; }.bind(this)); },
vue非父子组件怎么通信
这本来就违背了历史记录的意思,如果是带上参数访问,那就应该是前进。
另外SPA又不存在数据传递的问题,为什么后退需要带参数?
官网 grouter.go(-1) // 后退一步记录,等同于 history.back() 是无法带参数的 2个解决办法: 1. 以路由方式跳转到上一个页面,而非返回 2.可以通过store或者vuex,实现数据共享。
你this.$router.back()不就自己回去了,需要判断从哪进来的?
问题已经解决了! (并非回退操作就不能带参数,如有需要的参考此类做法)
业务需求
我目前做的是养老服务的互联网产品,在多个页面可以进入“医院列表”页面,选择要服务的医院,然后回退回去。比如“首页”和“预约”都可以进入“医院”页面。
解决方案
1. 声明一个空的Vue模块
eventBus
2. “医院列表页”通过
eventBus.$emit
传参给上一个页面3. “首页”以及“预约”页面接收参数
参考
vue非父子组件怎么通信
这本来就违背了历史记录的意思,如果是带上参数访问,那就应该是前进。
另外SPA又不存在数据传递的问题,为什么后退需要带参数?
官网 grouter.go(-1) // 后退一步记录,等同于 history.back() 是无法带参数的
2个解决办法: 1. 以路由方式跳转到上一个页面,而非返回 2.可以通过store或者vuex,实现数据共享。
你this.$router.back()不就自己回去了,需要判断从哪进来的?