首页 >> 大全

【Vue】Vue中的路由跳转与路由传参的笔记归纳总结

2023-09-11 大全 34 作者:考证青年

目录

一.路由的跳转

1.方法一:a标签实现跳转

2.方法二:-link标签实现跳转(声明式导航跳转)

3.a标签和-link两个实现跳转的区别

4.方法三:编程式导航(编程式导航跳转------js代码)

a.对按钮绑定点击事件

b.当点击的时候触发事件this.$.push进行拼接

二.路由的传参

1.传参引入------为什么要传参

2.如何获取到传入的参数

3.url的组成

4.路由传参

a.-------query传参

b.---------传参

5.获取并打印传入的参数--总结

一.路由的跳转 1.方法一:a标签实现跳转

去登陆页面

2.方法二:-link标签实现跳转(声明式导航跳转)

去登陆页面

3.a标签和-link两个实现跳转的区别

a标签跳转会重新加载网页,重新请求服务器

-link没有重新加载网页,只是渲染了新组建

使用情况:跳转到非当前网站的链接就选择a标签,切换当前网站的其他页面就选择-link,因为-link不会重新请求当前.html文件

4.方法三:编程式导航(编程式导航跳转------js代码) a.对按钮绑定点击事件

点击跳转到登陆页面

b.当点击的时候触发事件this.$.push进行拼接

代码理解:在当前路由下的最后添加"/login"

使用场景:可以在此处书写逻辑代码,声明式导航跳转是用户点击后直接跳转,而编程式导航可以进行逻辑判断,比如满足什么条件再跳转。

好处:在任何标签(只要能写点击事件)都可以用js代码实现路由跳转

二.路由的传参 1.传参引入------为什么要传参

假设下面arr为我们项目中从后端获取到的数据(四个产品),我们通过循环渲染到页面上,想达到的效果是点击某一个产品,会跳转到该点击的产品的详情页面。

      

我们对每一个产品按钮绑定点击事件goBox,每个产品都绑定的同一个事件,不难理解网站上成千上万个产品,不可能书写成千上万个页面,我们跳转的是同一个页面,只是后端返回渲染到页面上的数据不一样。那么如何区分点击的是哪一个产品的详情页面呢,这时候就需要跳转的时候传参。

绑定点击事件触发goBox,传入的参数el.id是不一样的,我们再将传入的参数el.id拼接到网址的后面。我们可以看出点击后我们都去的/Box这个页面,但是传入的参数是不一样的,这时候我们就可以请求到传入的参数,发送给服务器,服务器可以从数据库中通过这个id得到这个产品相关的信息,然后渲染到页面上。

2.如何获取到传入的参数

获取路由信息(跳转时携带的信息)-----this.$route

3.url的组成

url的组成:协议:// ip地址:端口号port / 虚拟路径 ? #hash

ip地址:端口号port ===映射===>域名(例如)

? ========> 表示参数,给服务器发送数据(也可以)

#hash 哈希不会发送给服务器,只作为一个锚点(定位到网页中的一个元素)

4.路由传参

传参的方式

方法一:?xxxxx ,将参数拼接到“ ?”的后面(常用)

方法二:/ xxxxx,拼接到“ / ”后面

方法二比方法一多一步操作,也就是注册路由的时候 “ /:变量名 ”

a.-------query传参

query传参方法一:通过js代码来写,this.$.push

传参后效果

query传参方法二:用-link标签,直接用“to”对url进行拼接

 query传参

传参后效果

query传参方法三:对象方式

其中path表示跳转的网址 query表示需要传的参数

传参后效果:

打印的this.$route.query为

query传参方法四:用-link标签,直接用“:to”对url进行拼接,后面为对象

query传参

传参后效果:

b.---------传参

传参方法一:通过js代码来写,this.$.push

传参后效果:

传参方法二:对象方式

    

其中name表示路由的名字(独一无二不能重复)

注意!!!!!!其中中的变量名必须在路由中注册过,一一对应,不能多不能少

传参后效果:

弊端:只能通过路由名name,才能传参

传参方法三:用-link标签,直接用“to”对url进行拼接

 params传参

注意:路由注册变量名和拼接的值一一对应,不能多不能少,否则跳转失败

传参后效果:

传参方法四:用-link标签,直接用“:to”对url进行拼接,后面为对象

params传参

注意:路由注册变量名和拼接的值一一对应,不能多不能少,否则跳转失败

传参后效果:

5.获取并打印传入的参数--总结

获取路由信息(跳转时携带的信息)

a.---------this.$route

传参

b.----------this.$route.

query传参

c.-----------this.$route.query

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了