HLJ 发布于
2024-05-23 14:53:43
19阅读

路由

上一篇文章:

单文件组件

下一篇文章:

状态管理

从头开始实现一个简单的路由

  • 如果你只需要一个简单的页面路由,而不想为此引入一整个路由库,你可以通过动态组件的方式,监听浏览器 hashchange 事件或使用 History API 来更新当前组件。
<script setup>
import { ref, computed } from 'vue'
import Home from './Home.vue'
import About from './About.vue'
import NotFound from './NotFound.vue'
const routes = {
  '/': Home,
  '/about': About
}
const currentPath = ref(window.location.hash)
window.addEventListener('hashchange', () => {
  currentPath.value = window.location.hash
})
const currentView = computed(() => {
  return routes[currentPath.value.slice(1) || '/'] || NotFound
})
</script>
<template>
  <a href="#/">Home</a> |
  <a href="#/about">About</a> |
  <a href="#/non-existent-path">Broken Link</a>
  <component :is="currentView" />
</template>

vue-router 路由模式有几种?

  • 有 Hash 和 History 两种模式
  • Hash: 使用URL的hash值来作为路由。支持所有浏览器。
  • History: 以来HTML5 History API 和服务器配置。

vue-router有哪几种导航钩子?

  • 有3种。
  • 1、第一种是全局导航钩子:router.beforeEach(to,from,next)。作用是跳转前进行判断拦截。
  • 2、第二种是组件内的钩子。
  • 3、第三种是单独路由独享组件。

router-link上事件无效解决方法

  • 使用 @click.native 。原因:router-link会阻止click事件,.native指直接监听一个原生事件。
当前文章内容为原创转载请注明出处:http://www.good1230.com/detail/2024-05-23/668.html
最后生成于 2024-06-25 13:50:50
上一篇文章:

单文件组件

下一篇文章:

状态管理

此内容有帮助 ?
0