queryString

有时候,我们也会用到 queryString

queryString

<select v-model='sort'>

<option value=''desc''>从高到低<option>

<option value=asc>从低到高<option>

<select>

$route.query

我们可以通过路由对象 $route 的 query 属性来获取 queryString

computed:{

            sort:{

                  get(){

                  return this.$route.query.sort || 'desc'

                 }

            }

}

编程式导航 有时候需要用到编程的方式来导航(跳转),而不是点击链接。如:

当`sort`发生改变的时候跳转

computed:{

     sort:{

               get(){

                   return this.$route.query.sort || 'desc'

                }

    },

    set(newVal){

            this.$router.push({

                name:'home',

                query:{

                        sort:newVal

                }

            })

     }

}

路由组件的复用 

为了提高性能,增强路由的复用,当路由切换使用的是同一个组件的时候,则会复用该路由组件,而不是销毁重建,这个是候 watch 或者 路由相关的生命周期函数来处理切换路由导致的变化

watch

如果切换的路由复用了组件,这个时候,我们可以使用 watch 监听$route

watch:{

        $route(to,from){

            console.log('$route')

         }

}

to:改变之后的 $router 对象

from:改变之前的 $roue 对象

但是我们可以使用 vue-router 提供路由守卫(路由有关的生命周期函数)来处理路由有关的业务逻辑

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。