• VUE的路由配置


      

      我们知道用vue可以快速的构建一个单页应用。一个页面是可以划分为几大模块,而VUE-router,就是将组件映射到路由,然后告诉VUE-ROUTER在哪里渲染。

       而我们具体的做法就是把每一个组件都挂载在router这个路由上面,有路由来决定哪个组件渲染.

      

      具体用代码实现的过程,就是通过发布订阅模式来统筹管理这些组件。

      1.npm安装vue-router依赖,在main.js里引入router插件

            

       2.把当前的插件通过Vue.use()来安装router插件

      

         3.把路由当作选项加入到Vue实例中去

      

      接下来就是我们具体要配置的路由具体内容了:

    路由大概可以分为3部分,第一部分就是路由视图,也就是所谓的router-view,第二部分就是路由路径router-link,第三部分就是路由对象route。

    前面我们做的是准备工作,具体的路由配置。

      1.引入要挂载在路由上的组件

      2.配置路由       (注意:路由全部用的是相对路径,默认的路径是'/')

      

      

      上图的router-view就是路由渲染的地方,router-link是跳转的超链接

      路由部分

      1.动态路由

      首先解释下为什么要用动态路由,当我们所有id都要渲染同一个组件的时候,我们就要使用动态路由。具体的操作如下:

      动态路由vue-router的处理方式是在路径后面加上/:param(后面是可以继续嵌套的  example        /hi/:id/:name)

      这样我们在写router-link的时候就可以

      

      有时候我们想渲染同一个组件,只改变id而不重复渲染,我们可以通过watch选项来监听

      

      2.嵌套路由

      嵌套路由跟正常的路由是一样的,首先要把组件挂载在路由下面,然后把路径写入children属性下面,注意点:

      1.嵌套路由的路径是相对于父组件的路径,所以别加/,斜杠是相对于跟路径的,

      2.嵌套路由是可以无限嵌套的

      

      3.编程式导航

      有时候我们需要动态的去改变我们的链接跳转,这个时候我们就可以用到编程式导航了。

      编程式导航的本质就是跟正常的变量一样通过to属性来动态给router-link加链接。

      

      这里关注一个点就可以了,编程式导航引号里面一定是对象。加参数就用params,里面可以传变量,

      编程式导航跟路由的push方法是一样的,都会往history栈里面添加一个新记录,而replace方法也会替换路径,但是不会添加到history栈里面。

      

      我们如果想返回上一步或者下一步,没有办法用原生js的go或者foward方法,但是路由给我们提供了这样的方法,

      

      4.命名路由

      命名路由是编程式导航的一个特例 ,命名路由是具体到一个具体的路径,而编程式导航是可以传参数的。

      5.命名视图

      之前我们讨论的都是在一个router-view条件下,如果我们想同时展现多个视图,vue-router也给我们提供了命名视图

      

      然后我们在配置组件路径的时候,就不是component,而是components,这样我们就可以同时渲染多个视图。

      注意点,这里我们因为同时渲染几个视图,所以是不能用transition或者keep-alive包裹。有局限性。

      

      6.向路由组件传递props

      我们之前通过动态路由来渲染的话,要想获取id那些属性都要通过this.$route.params.id这样所有的东西都会与route黏在一起,如果我们想把两个同喜解耦,

      我们可以通过props把两个东西关联起来

      

      

      

      

      

      

      

      

      

      

  • 相关阅读:
    0129 System类 Math类 Arrays类 大数据运算
    0127 基本类型包装类
    'telnet' 不是内部或外部命令,也不是可运行的程序 解决方案
    删除时报org.springframework.dao.DataIntegrityViolationException
    mapper自动识别驼峰配置 spring MVC
    spring Security如何debug源码
    公司tomcat项目启动
    java.util.ConcurrentModificationException: null 异常解决
    @Transactional 学习
    mangoDB初探
  • 原文地址:https://www.cnblogs.com/xiongmaoblog/p/6869285.html
Copyright © 2020-2023  润新知