美文网首页Vue知识点
vue路由(一、二级路由)

vue路由(一、二级路由)

作者: 焚心123 | 来源:发表于2019-12-28 18:29 被阅读0次

    1、什么是路由?

    是前台为了实现单页面应用然后设置路径,根据不同的路径显示不同页面。但是这些路径在服务器上不是真是存在的

    2.vue的路由分为两种:

    hash路由 默认的是hash路由
    history路由

    3、hash路由的原理:

    通过onhashchange()来检测路由的变化,根据不同的hash来显示不同元素。获取当前的hash值location.hash

    4、history路由原理:

    通过onpopstate来检测history堆栈路径的变化,堆栈的路径是通过history.pushState(null, '',"?page=2")添加进去的

    vue路由的配置:

    由hash路由设置成history路由,给路由添加配置项 mode="history"

    5、一级路由的配置:

    1、设置相应组件
    2、在router->index.js文件中添加配置
    首先引入组件,然后配置规则 {path:设置路径,name:名,component:组件}

            {path:'/index' ,name :'index' ,component:Index }
    

    3、在需要现在组件的地方给页面添加<router-view></router-view>


    路由.png

    4、设置导航路径
    使用vue提供 <router-link to="路径"></router-link> 默认的解析成a标签

         <router-link to="/index">跳转到首页</router-link>
         <router-link to="/search">跳转到搜索页</router-link>
    

    5、设置默认路由

            使用的是重定向
            {
                path:"/",
                redirect:"路径"
            }
    

    6、设置导航样式

            .router-link-active{ background:red;}
    

    6、二级路由的配置

    1、需要定义组件
    2、确定好在那个组件配置二级路由,就去那个组件的配置规则中添加children关键字,按照一级路由的配置方法配置规则

            [ {
                              path:'/ ',
                              name:'index',
                              component:Index,//--->默认一级为/,打开Index组件
                              children:[
                                      {
                                             path:'search',//--->二级路由不用加斜杠
                                             name:'search',
                                             component:Search
                                      },
                                       {
                                            path:'/',//--->/为一级路由
                                            redirect:'/search'//--->默认search为二级路由主页面
                                        }
                               ]
            }]
    

    3、在需要配置二级路由的组件中添加router-view
    4、设置导航 <router-link to="//">

              <router-link  tag="p" to="/一级/二级">跳转到二级路由</router-link>
              //--->tag--->可以设置标签为p标签
    

    5、设置导航链接的样式

             .router-link-active{ background:red;}
    

    要是在App.js中写入组件底部footer路由,那么每个页面都会有这个组件footer路由,但是有的组件,不需要或者说不让底部footer组件显示,该怎么办呢?

    我们可以定义一个一级路由,里面可以包裹底部footer组件,让他为二级路由,这时点击底部的二级路由时,就会切换不同的页面,而不需要底部组件显示的时候,那我们在配置一个一级路由就好了!!!

    希望能对你有所帮助!!!!

    相关文章

      网友评论

        本文标题:vue路由(一、二级路由)

        本文链接:https://www.haomeiwen.com/subject/zqvsoctx.html