游侠的博客 游侠的博客
首页
  • 论文笔记
  • 一些小知识点

    • pytorch、numpy、pandas函数简易解释
  • 《深度学习500问》
开发
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ranger

一名在校研究生
首页
  • 论文笔记
  • 一些小知识点

    • pytorch、numpy、pandas函数简易解释
  • 《深度学习500问》
开发
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Vue

    • Vue Router

      • Vue Router入门
        • 安装
          • 直接下载/CDN
          • npm
          • yarn
        • 基本使用模式
          • HTML代码
          • JavaScript代码
      • 动态路由匹配
      • 解决访问路径#问题
    • 创建应用实例
    • element-plus不使用index作为path在激活导航时进行默认的路由跳转
  • SpringBoot2

  • JavaWeb

  • SSM

  • SpringBoot3

  • 技术
  • Vue
  • Vue Router
yangzhixuan
2023-03-14
目录

Vue Router入门

# 安装

# 直接下载/CDN

https://unpkg.com/vue-router@4 (opens new window)

Unpkg.com提供了基于npm 的 CDN 链接。上述链接将始终指向 npm 上的最新版本。 你也可以通过像 https://unpkg.com/vue-router@4.0.15/dist/vue-router.global.js 这样的 URL 来使用特定的版本或 Tag。


# npm

npm install vue-router@4
1

# yarn

yarn add vue-router@4
1

# 基本使用模式

# HTML代码

<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>

<div id="app">
    <h1>Hello App!</h1>
    <p>
        <!--使用 router-link 组件进行导航 -->
        <!--通过传递 `to` 来指定链接 -->
        <!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
        <router-link to="/">Go to Home</router-link>
        <router-link to="/about">Go to About</router-link>
    </p>
    <!-- 路由出口 -->
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Vue Router有两个重要的标签:router-link和router-view。

router-link替代原本a标签的工作,这能使Vue Router可以在不重新加载页面的情况下更改URL,处理URL的生成以及编码。

当URL因router-link发生变化时,router-view标签所在位置将被替换为该URL所对应的组件。


# JavaScript代码

// 1. 定义路由组件.
// 也可以从其他文件导入
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }

// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About },
]

// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置,但我们在这里
// 暂时保持简单
const router = VueRouter.createRouter({
  // 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
  history: VueRouter.createWebHashHistory(),
  routes, // `routes: routes` 的缩写
})

// 5. 创建并挂载根实例
const app = Vue.createApp({})
//确保 _use_ 路由实例使
//整个应用支持路由。
app.use(router)

app.mount('#app')

// 现在,应用已经启动了!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

通过调用app.use(router),我们会触发第一次导航且可以在任意组件中以this.$router的形式访问它,并且以this.$route的形式访问当前路由(注意,代码中的routes是router的一部分):

// Home.vue
export default {
  computed: {
    username() {
      // 我们很快就会看到 `params` 是什么
      return this.$route.params.username
    },
  },
  methods: {
    goToDashboard() {
      if (isAuthenticated) {
        this.$router.push('/dashboard')
      } else {
        this.$router.push('/login')
      }
    },
  },
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

若要在setup函数中访问路由,需要调用useRouter或useRoute函数

在使用中,this.$router与直接使用通过createRouter创建的router实例完全相同。所以使用this.$router就不需要重复导入路由了

编辑 (opens new window)
#Vue Router文档
上次更新: 2024/05/30, 07:49:34
动态路由匹配

动态路由匹配→

最近更新
01
tensor比较大小函数
05-30
02
Large Language Models can Deliver Accurate and Interpretable Time Series Anomaly Detection
05-27
03
半监督学习经典方法 Π-model、Mean Teacher
04-10
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Ranger | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式