Maison > Questions et réponses > le corps du texte
J'ai trouvé beaucoup d'informations, et l'essai d'utilisation des routeurs n'est rien de plus que les deux suivants :
//指定跳转到user页面,可带参数
router.go({name: 'user', params: {userId: 1}});
//不知道页面名,按历史记录跳转到上一页(这种情况应该怎么带参数???)
router.go(-1);
黄舟2017-05-19 10:31:50
Le problème est résolu ! (Il ne s'agit pas d'une opération de rollback, donc les paramètres ne peuvent pas être pris. Si nécessaire, référez-vous à cette méthode)
Je travaille actuellement sur un produit Internet destiné aux services de soins aux personnes âgées. Vous pouvez accéder à la page « Liste des hôpitaux » sur plusieurs pages, sélectionner l'hôpital que vous souhaitez desservir, puis revenir en arrière. Par exemple, « Accueil » et « Rendez-vous » peuvent accéder à la page « Hôpital ».
Cela signifie "page de liste d'hôpital". Vous ne savez pas ou n'avez pas besoin de savoir à quelle page se trouvait la dernière page que vous avez visitée. Il vous suffit de sélectionner l'hôpital et de revenir.
Bien sûr, vous pouvez également indiquer à la page de liste des hôpitaux quel est le nom de la page précédente en passant des paramètres, puis revenir en arrière. Mais s'il y a trop de pages, imaginez combien de codes de jugement il y aura sur la page de la liste des hôpitaux ?
eventBus
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);
}
}
eventBus.$emit
import eventBus from '../service/eventbus.js';
//每次激活时
activated(){
//根据key名获取传递回来的参数,data就是map
eventBus.$on('choiceHospital', function(data){
//赋值给首页的附近医院数据模型
this.nearestOrg = data;
}.bind(this));
},
给我你的怀抱2017-05-19 10:31:50
Cela va à l'encontre du sens des enregistrements historiques. S'il est accessible avec des paramètres, il doit être transmis.
De plus, SPA n'a pas de problème de transmission de données. Pourquoi la retraite doit-elle avoir des paramètres ?
仅有的幸福2017-05-19 10:31:50
Site officiel grouter.go(-1) // Revenir en arrière d'une étape pour enregistrer, ce qui équivaut à history.back() Il ne peut pas prendre de paramètres
2 solutions : 1. Passer à la précédente. page en utilisant le routage, au lieu de renvoyer 2. Le partage des données peut être réalisé via store ou vuex.
某草草2017-05-19 10:31:50
N'utilisez-vous pas this.$router.back() pour revenir en arrière par vous-même ? Avez-vous besoin de déterminer d'où il vient ?