• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
ellaha
博客园    首页    新随笔    联系   管理    订阅  订阅
Vue之路由传参

一、使用query方式传参

优点:在路由中 使用查询字符串给路由传递参数 不需要修改路由规则的path属性

1,如何在组件内部拿到页面传递过来的参数

<div id="app">
     <router-link to="/login?id=10&name=zs">登录</router-link>
     <router-link to="/register">注册</router-link>
     <router-view></router-view>
</div>

2,子组件中打印$route,可以获取fullPath path 和传递的参数query

fullPath = path + query

3,在子组件中通过$route.query获取页面传递过来的参数

var login = Vue.extend({
    template: '<h1>登录--{{$route.params.id}}--{{$route.params.name}}</h1>',
    created(){
        console.log(this.$route)
    }
})

 

二、使用params方式传参

1,需要修改路由规则中的path属性,其中:id是个占位符

var router = new VueRouter({
    routes: [
        {path: '/login/:id/:name', component: login},
        {path: '/register', component: register}
    ]
})

2,页面传参

<div id="app">
    <router-link to="/login/12/zs">登录</router-link>
    <router-link to="/register">注册</router-link>
    <router-view></router-view>
</div>

3,如何解析页面的参数,通过打印 this.$route

var login = Vue.extend({
    template: '<h1>登录--{{$route.params.id}}--{{$route.params.name}}</h1>',
    created(){
        console.log(this.$route)
    }
})

fullPath和path的值一致,将解析到的参数放到params中了

posted on 2021-04-27 21:51  ellaha  阅读(152)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3