关于Vue-router的补充和复习-----动态路由的匹配问题

这里我只是设想实际开发中的过程,没有完全从零开始学习 这;

1.template中

  

 

 

 2.要在router文件夹里的index.js文件中配置路由:

 

 

 3.要在main.js中,Vue实例中,加载路由对象(只做了这一次哈,因为index.js中已经把路由对象暴露出去了)

  路由对象的暴露:

  

 

 

   main.js中加载路由对象:

    《1》导入路由对象:

      

 

    《2》在Vue实例对象中挂载路由对象:

      

 

 ====================================================================================================================

下面是动态路由的匹配:

  什么是动态路由匹配?

    我们经常需要把某种模式匹配到的所有路由,全部都映射到同一个组件中。例如newsinfo组件,对于所有id各不相同的新闻详情,都要使用这个组件来渲染。那么,我们可以在vue-router的路由

路径中使用 ‘动态路径参数’来达到这个效果:

    

 

 

     当匹配到这个路由的时候,参数值会被设置到this.$router.params,可以在每个组件内使用。

    这里这个例子中,在NewsInfo组件中:

    

 

 

 

   

 

       1.响应路由参数的变化:

       当使用路由参数的时候,例如从 /newsinfo/13到 /newsinfo/14,原来的组件实例会被复用。因为这两个路由都是渲染的同一个组件newsinfo,比起销毁再创建,复用显得更加高效。不过,这也意味着组件的生命周期钩子不会再被调用。

      2.复用组件时,想要对路由参数的变化做出响应的话,可以使用watch检测$route路由参数对象的变化;

      

      当然还可以使导航守卫;

      

     3.捕获所有路由或404Not found 路由:

     常规参数只会匹配被 /  分隔的URL片段中的字符。如果想匹配任意路径,可以使用通配符(*);

    

 

 

 

 匹配优先级:

  有时候,同一个路径可以匹配多个路由;此时,匹配的优先级就按照路由的定义顺序:谁先定义,

谁的优先级就最高

posted @ 2019-10-31 16:22  Moliy-Moliy  阅读(564)  评论(0编辑  收藏  举报