在 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>