日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

Vue路由讲解

發(fā)布時(shí)間:2024/9/5 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 Vue路由讲解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1>router-link和router-view組件

2>路由配置

a.動(dòng)態(tài)路由

import Home from "@/views/Home.vue";

export default [
  {
    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")
  },
  {
    path: "/argu/:name",//動(dòng)態(tài)路由
    component: () => import("@/views/argu.vue")
  }
];
<template>
  <div>
    <!-- 拿到動(dòng)態(tài)路由的參數(shù) $route:當(dāng)前加載頁(yè)面的路由對(duì)象 -->
    {{$route.params.name}}
  </div>
</template>

<script>
export default {
  //
};
</script>

b.嵌套路由

import Home from "@/views/Home.vue";
export default [
  {
    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")
  },
  {
    path: "/argu/:name",
    component: () => import("@/views/argu.vue")
  },
  //嵌套路由的使用
  {
    path: "/parent",
    component: () => import("@/views/parent.vue"),
    children: [
      {
        path: "child",//此處不能加/
        component: () => import("@/views/child.vue")
      }
    ]
  }
];

child.vue:

<template>
  <div>I am child</div>
</template>

c.命名路由

import Home from "@/views/Home.vue";

export default [
  {
    path: "/",
    name: "home",//加上name屬性  命名路由
    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")
  },
  {
    path: "/argu/:name",
    component: () => import("@/views/argu.vue")
  },
  //嵌套路由的使用
  {
    path: "/parent",
    component: () => import("@/views/parent.vue"),
    children: [
      {
        path: "child",
        component: () => import("@/views/child.vue")
      }
    ]
  }
];

d.命名視圖

import Home from "@/views/Home.vue";

export default [
  {
    path: "/",
    name: "home",//加上name屬性  命名路由
    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")
  },
  {
    path: "/argu/:name",
    component: () => import("@/views/argu.vue")
  },
  //嵌套路由的使用
  {
    path: "/parent",
    component: () => import("@/views/parent.vue"),
    children: [
      {
        path: "child",
        component: () => import("@/views/child.vue")
      }
    ]
  },
  {
    path: "/named_view",
    //加載多個(gè)組件 用復(fù)數(shù)
    components: {
      default: () => import("@/views/child.vue"),
      email: () => import("@/views/email.vue"),
      tel:()=>import("@/views/tel.vue")
    }
  }
];
<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link>|
      <!-- 命名路由 -->
      <router-link :to="{name:'about'}">About</router-link>
      <!-- <router-link to="/about">About</router-link> -->
    </div>
    <!-- 路由視圖組件 -->
    <router-view/>
    <router-view name="email"/>
    <router-view name="tel"/>
  </div>
</template>

child.vue

<template>
  <div>I am child</div>
</template>

email.vue

<template>
  <div>email:07807958@qq.com</div>
</template>

tel.vue

<template>
  <div>tel:18976543210</div>
</template>

打開(kāi)瀏覽器:http://localhost:8080/#/named_view

打開(kāi)調(diào)試工具,可以直觀的看出各路由:

3>JS操作路由(編程式導(dǎo)航)

4>重定向和別名

import Home from "@/views/Home.vue";

export default [
  {
    path: "/",
    name: "home", //加上name屬性  命名路由
    component: Home
  },
  {
    path: "/main",
    // redirect: "/",

    // redirect: {
    //   name:"home"
    // }
    
    redirect: to => {
      //console.log(to);
      // return {
      //   name:"home"
      // }
      return '/'
    }
  }
];

console.log(to)輸出信息:

路由別名:

export default [
  {
    path: "/",
    alias:'/home_page',
    name: "home", //加上name屬性  命名路由
    component: Home
  }]

總結(jié)

以上是生活随笔為你收集整理的Vue路由讲解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。