路由跳转----声明式导航、编程式导航

<!-- 路由跳转的方式,有两种:
  1.声明式导航
  router-link 是vue-router提供的一个全局组件
  router-link 实际上最终会渲染成一个a标签,to属性等价于 href属性(to不需要#)
  router-link 提供了声明式导航高亮的功能(自带类名)


  传参
  在router-link上的to属性2,方法如下:
  (方式1)

  传递参数
  to=/path?参数名=值
  列:<router-link to="about?name=小明"></router-link>

  //获取路由参数:
  this.$route.query.参数名
  列:this.$route.query.name
  
  (方式二 ---动态路由)
  传参
  to='/path/值'(需要在路由规则里配置,/path/:参数名)
  列:to='/path/王娆'
  配置:path:"/about/:username"

  获取参数
  this.$route.params.参数名
  列:this.$router.params.username

  2.编程式导航
  用js代码来进行跳转的

  $router和$route的区别?
    $router:是路由的操作对象(比喻成路由器,装着所有的路由)  跳转时候用
    $route: 是路由的信息对象(比喻成一个路由,存储着当前路由中的所有信息)   获取路由参数时候用
    
  跳转的具体方式:      语法:path或者name任选一个
  this.$router.push(
    {
      name:路由配置的名字,query:{name:'值'}
    }
  );

  接收参数:在对应的页面
  let name_nex=this.$route.query.name;


  3.区别(重点!!!)
  跳转方式的区别:
  1.path和name的相同点:都可以实现页面切换(路由跳转)
                       都需要在路由中提前配置好
                       声明式和编程式导航都可以使用
                不同点:path的值是会变的,列如:动态路由/path/:username
                        name的值是不会变得,并且前缀不需要带/,只是一个名字(字符串)
                    *** 使用path跳转路由时,path会忽略params(参数为undefined),所以path和params是不能一起使用
                        推荐使用name和query的方式来实现路由跳转

  2.query和params的相同点:都是路由传参数的方式; 声明式导航中和编程式导航中都可以使用
                   不同点:query相当于get请求,编写方便。但是页面跳转的时候呢参数显示在地址栏,存在安全隐患
                           params:相当于post请求,需要配置动态路由(详情请参考上面),参数不会显示在地址栏中,相对安全;

-->
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值