在 Vue 中,router
是一个核心插件,负责管理应用的路由配置,实现单页面应用(SPA)中的页面导航和组件切换,使得开发者能够通过定义路由映射来动态加载和渲染不同的组件,从而构建复杂的用户界面和交互体验。官方网站https://router.vuejs.org/
router的安装
npm install vue-router@4
具体的版本会在package.json里体现
路由定义与导出
index.js:
import Main from '../view/Main.vue' import Login from '../view/login/login.vue' import { createWebHashHistory, createRouter } from 'vue-router'
const routes = [ { path: '/', component: Main }, { path: '/login', component: Login } ]
const router = createRouter({ routes, history: createWebHashHistory() })
export default router
main.js:
import { createApp } from 'vue' import './style.css' import App from './App.vue' import router from './router'
const app = createApp(App) app.use(router)
app.mount('#app')
App.vue:
<script setup> </script>
<template> <RouterView /> </template>
<style scoped></style>
番外 setup的作用
在 Vue 3 中,setup 是一种语法糖,用于简化组合式 API(Composition API)的使用。它提供了一种更简洁的方式来编写 Vue 组件的逻辑部分。以下是 setup 的主要作用和特点:
1. 简化组合式 API 的使用
传统方式:在使用组合式 API 时,通常需要在 setup 函数中编写逻辑,并在 setup 函数中返回需要暴露给模板的数据和方法。
setup:使用 setup 语法,你可以直接在 setup 标签内编写逻辑,无需显式地返回数据和方法。所有在 setup 中定义的变量、函数和导入的模块都会自动暴露给模板。
2. 自动作用域
传统方式:在 setup 函数中,你需要手动管理作用域,确保变量和函数在模板中可用。
setup:在 setup 中定义的所有内容都会自动作用域到当前组件,无需手动管理作用域。
3. 更简洁的语法
传统方式:使用 setup 函数时,代码可能会显得冗长,尤其是在需要返回多个数据和方法时。
setup:setup 语法更简洁,代码更易读,减少了样板代码。
4. 更好的性能
传统方式:setup 函数会在每次组件实例化时执行,可能会导致一些性能开销。
setup:setup 语法在编译时进行了优化,减少了不必要的开销,从而提高了性能。
旧的方式:
<template> <div> <p>{{ message }}</p> <button @click="increment">Increment</button> </div> </template>
<script> import { ref } from 'vue';
export default { setup() { const message = ref('Hello, Vue 3!'); const count = ref(0);
const increment = () => { count.value++; };
return { message, count, increment }; } }; </script>
新的方式:
<template> <div> <p>{{ message }}</p> <button @click="increment">Increment</button> </div> </template>
<script setup> import { ref } from 'vue';
const message = ref('Hello, Vue 3!'); const count = ref(0);
const increment = () => { count.value++; }; </script>