• Vue 路由


    路由:路:路径(地址)  由:方向  
        针对于单页面应用,所提供的一个解决方案。根据地址传递的参数,来决定具体要使用的组件。
    1、下载(如果已下载该步可以省略)
        cnpm install vue-router -S
    2、引入
        import Router from 'vue-router'
    3、安装:
        Vue.use(Router)
    4、生成router对象
        export default new Router({
          mode: 'history',
          base: process.env.BASE_URL,
          routes: [
            {
              path: '/',
              name: 'home',
              component: Home
            },
            {
              path: '/about',
              name: 'about',
              // route level code-splitting
              // this generates a separate chunk (about.[hash].js) for this route
              // which is lazy-loaded when the route is visited.
              component: () => import(/* webpackChunkName: "about" */ './views/About.vue')
            }
          ]
        })
    **************************************************************
    引入组件有两种方法
    1、import One from '@/views/One'
        {
            path:"/one",
            component:One
        }
    2、
            {
                path:"/two",
                component:()=>import('@/views/Two')
            }
    **************************************************
    路由如何引入子组件
        1、在components下新建一个文件Child.vue
        2、在路由组件当中使用时
            1、
               import Child from "@/views/Child"
               export default {
                    components:{
                        Child
                    }
               }
            2、
                export default {
                       name: "one",
                       components:{
                           Child:()=>import('@/components/Child')
                       }
                   }
    ************************************************
    router-view:是一个内置的组件。将符合要求的路由所指向的组件进行渲染的地方。
    router-link:是一个内置组件。可以实现组件的切换。
        属性:
            1、to:跳转到什么路由
    * 地址是不区分大小写的。对大小写不敏感
    * 如果地址相同,以第一次优先。
    *****************************************
    404:
      {
            path:"*",
            component:()=>import("@/views/Error")
        }
    ****************************************
    别名:可以通过“/"或“/home"来进行访问
           {
                path: '/',
                name: 'home',
                alias:"/home",
                component: Home
            },
    * :提供了另外一种访问该路由的方式。
    *****************************************
    重定向:
    {
      path:"/lalala",
      redirect:"/two"
    },
    *当你的地址为lalala时,重定向到path为“/two" 的路由
    ****************************************
    如何实现路由的跳转
          <router-link to="/">Home</router-link> |
          <router-link to="/about">About</router-link>|
          <!--<router-link to="/one">One</router-link>|-->
          <!--<router-link :to="one">One1</router-link>|-->
          <!--<router-link :to="{path:'/one'}">One2</router-link>|-->
          <router-link :to="{name:'xixi'}">One3</router-link>|
          <router-link to="/two">two</router-link>|
    *******************************************************************
    单页面多路由
           {
                path:"/three",
                // component:()=>import("@/views/Three")
                components:{
                    one:()=>import("@/views/One"),
                    two:()=>import("@/views/Two"),
                    three:()=>import("@/views/Three"),
                    default:()=>import("@/views/MyTwo")
                }
            }
     template:
      one:<router-view name="one"/>
         <hr/>
         two:<router-view name="two"/>
         <hr/>
         three:<router-view name="three"/>
         <hr>
         <router-view></router-view>
         <hr>
         <router-view></router-view>
    
    *******************************************************************
    * this.$route来得到当前路由的配置信息。
    路由传值:
        1、query
            1、如何传递
                <router-link to="/query?a=1&b=4">query</router-link>|-->
                <router-link :to="{name:'query',query:{a:3,b:7}}">query</router-link>|
                <router-link :to="{path:'/query',query:{a:1,b:3}}">query</router-link>|
            2、如何接收
                this.$route.query;// {a:xx,b:xxx}
            优点:刷新数据不会丢失.还可以传递对象
        2、params
            1、如何传  *:params不可以与你的path结合使用。
           <router-link :to="{name:'params',params:{a:1,b:3}}">params</router-link>
           2、接收:
            this.$route.params.// {a:1,b:3}
            缺点:刷新数据不存在。
        3、设置路由
            1、配置路由
                {
                    name:"setRouter",
                    path:"/setRouter/:a/:b",
                    component:()=>import("@/views/SetRouter")
                }
            2、传
            <router-link :to="{path:'/setRouter/1/2'}">setRouter</router-link>|
            <router-link :to="{path:'/setRouter/1/2'}">setRouter</router-link>|
            3、接收
                this.$route.params
    
    
    ********************************************************************
    路由编程式导航:通过你的JS语句来控制你路由的跳转。
    this.$router.push("/");
    this.$router.push({name:"query",query:{a:5,b:8}});
    this.$router.push({name:"params",params:{a:5,b:8}});
    this.$router.go(-1):后退
    this.$router.go(1):前进
    

      

  • 相关阅读:
    [C#1] 2类型基础
    [C#2] 5迭代器
    [C#1] 6方法
    [C#1] 8数组
    [C#1] 12特性
    [C#1] 10事件
    [C#2] 2匿名方法
    实用代码JavaScript实用小函数一枚(深入对象取值)
    [C#1] 11接口
    实用代码C#获取本机网络适配器信息及MAC地址
  • 原文地址:https://www.cnblogs.com/zcccz/p/11396837.html
Copyright © 2020-2023  润新知