路由跳转的两种方式与路由传参
在非路由组件中存在登录以及注册两个链接,为了实现点击链接实现页面跳转,需要用到路由跳转。路由跳转分为声明式导航和编程式导航。编程式导航可以实现声明式导航的全部功能。并且编程式导航可以书写自己的业务逻辑。
声明式导航(务必有to)
为了实现点击登录链接跳转到登录组件,点击注册链接跳转到注册组件。此处采用声明式导航,因为此处没有其他业务逻辑。因此采用声明式导航。首先找到非路由组件Header,找到登录链接的位置。如下所示。将a标签换为router-link。同时声明跳转的路由地址。如下图所示。最终实现功能。
注意:声明式导航必须有to ,如果没有to,那么该标签则无法在页面中显示,会直接在页面中消失。声明式导航类似a标签,主要用于页面跳转,无法书写其他逻辑
编程式导航
利用push||replace进行跳转
在页面中存在button的搜索按钮,当点击时并非只是完成跳转,还需有其他的业务逻辑,因此在此使用编程式导航。
具体操作方法如下所示
路由传参
在使用搜索框的时候,需要获取非路由组件中搜索框的输入内容,传递给路由组件search中,此时需要路由传参。路由传参有三种方法,第一种字符串形式,第二种模板字符串形式,第三章对象写法(通常给路由设置名字)。其中前两种在开发中不常用,以第三种为例进行介绍。
首先如果想通过对象写法进行传参,那么通常在路由配置的时候给路由设置名字,因此需要先给路径为/search的路由设置名字,名字为search。设置完成之后,当搜索按钮被点击时,通过名称进行传参,可以传params形式参数,也可传query参数。具体代码如下所示。