vue-router 入门安装 - router-view 匹配组件 router-link 创建链接 - vue router(路由)
vue-router 入门安装
提示:这是与 Vue 3 匹配的vue-router 4
npm 安装 npm install vue-router@4 yarn 安装 yarn add vue-router@4
用Vue+Vue Router创建单页应用非常简单:通过Vue,我们已经用组件组成了我们的应用。当加入Vue Router时,我们需要做的就是将我们的组件映射到路由上,让Vue Router知道在哪里渲染它们。下面是一个基本的例子:
HTML
html 文件Hello App!
Go to Home Go to About
router-link
请注意,我们没有使用常规的a
标签,而是使用一个自定义组件router-link
来创建链接。这使得Vue Router可以在不重新加载页面的情况下更改URL,处理URL的生成以及编码。我们将在后面看到如何从这些功能中获益。
router-viewrouter-view
将显示与url
对应的组件。你可以把它放在任何地方,以适应你的布局。
JavaScript
// 1. 定义路由组件. // 也可以从其他文件导入 const Home = { template: 'Home' } const About = { template: 'About' } // 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') // 现在,应用已经启动了!
通过调用app.use(router)
,我们可以在任意组件中以this.$router的形式访问路由实例,并且以this.$route的形式访问当前路由:
// 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') } }, }, }
要在setup()
函数中访问路由,请调用useRouter
或useRoute
函数。
在整个文档中,我们会经常使用router实例,请记住,this.$router与直接使用通过createRouter创建的router实例完全相同。我们使用this.$router的原因是,我们不想在每个需要操作路由的组件中都导入路由。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!