相关文章推荐
  1. 将“path”参数替换为router中对应的“name”
  2. 不使用“params”传参,改为使用“query”传参

“params”参数需要由“name”参数引入,有且只有“name”字段时(“name”和“path”同时存在时不可以),“params”存入的值才可被获取。

“query”却可以在“name”和“path”两种情况下正常工作传值取值

methods:{ toArticle:function(index) { this.$ router .push({path:'/article', params :this.blogList[index]}); 在article 接受不到 params mounted(){ console.log(this.$route. params ) //这里输出undifined 导致这样的原因是因为 params 需要通过name来 获取 ,这里就要明白query和 params 的区别了 本意:通过 获取 路由 的参数传入方法 调用接口 获取 数据。 **问题:**当时想的是使用mounted钩子实现,结果没有 获取 到参数(this.$route.query.class_id) 下面是我没解决时的代码: mounted () { this.getClassDetail() methods: { // 获取 班级信息 async getClassDetail () { let res = await getClassDetail({ 按道理前面已经设置了 localStore 和 vue x了 路由 获取 代码两种都 获取 不到我要的角色信息 也不清楚是为什么,查了一下async 和await,后面我用console. 传参 是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,比如传个id 获取 个详情信息,今天咱们就来看看 Vue 是怎么实现这种传递参数得在 Vue 提供了两种方法来进行路由 传参 :query 和 params ,下面来看看他们两个得区别在哪里query语法:this.$ router .push({path:"地址",query:{id:"123"}}); 这是传递参数this.$route.qu... 我们学习过 vue 路由之后知道, vue 传参 有几种方式 1. vue 路由 params 是根据name跳转的,通过 params 来传递参数 2. vue 路由query是根据path跳转的,通过query来传递参数 通过路由属性 的name来确定匹配的路由,通过 params 来传递参数。 methods:{ toLink(id) { this.$ router .push({ name: 'systemConfig', params 问题:在全局 路由守卫 想要通过store拿到异步请求的数据, 无法 拿到。 我们常见使用 vue x,一般是这样的: store模块文件写相关的数据信息,模块一test.js: export default { state: { obj: { count: 2 mutations: { add(state){ return state.obj.count + 1 actions: { 方法一:使用query来传递参数 1. 传参 this.$ router .push({path: ‘/’, query: {参数名: ‘参数值’}) 2.接参this.$route.query.参数名。方法二:使用 params 1. 传参 this.$ router .push({path: ‘/’, name: ‘’, params : {参数名: ‘参数值’}) 2.接参this.$route. params .参数名 .........
 
推荐文章