简介
Vue Router让SPA(Single-page Application)的构建更加容易。
Vue Router的功能:
- 嵌套的路由/视图映射
- 模块化的、基于组件的router配置
- route params, query, wildcards
- 由Vue过渡系统支持的视图过渡效果
- 细粒度(fine-grained)的导航控制
- 自动的激活CSS类的链接
- HTML5 hash模式或history模式
- 可自定义的滚动行为
安装
使用CDN直接引入
从https://unpkg.com/vue-router@3/dist/vue-router.js下载文件。在Vue加载后加载Vue Router会自动安装它到Vue。
<script src="/path/to/vue.js"></script>
<script src="/path/to/vue-router.js"></script>
npm
在模块化系统中,先使用npm安装vue-router,
npm install vue-router
如果不使用全局的script的标签引入vue和vue router,那么可以使用Vue.use来安装vue router,
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
Vue CLI
使用Vue CLI的项目可以运行下面的命令来以插件形式安装vue router,但是要注意这样做会覆盖你的App.vue文件,注意备份!
vue add router
从Github克隆最新版本
git clone https://github.com/vuejs/vue-router.git node_modules/vue-router
cd node_modules/vue-router
npm install
npm run build
入门
Vue创建的应用程序由一个个组件构成,Vue Router的路由映射则将这些组件映射到路由上,如此便完成了在哪里渲染什么的目标。
在线快速尝鲜Vue
一个基础示例:文章来源:https://www.toymoban.com/news/detail-725920.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://unpkg.com/vue@2/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router@3/dist/vue-router.js"></script>
</head>
<body>
<div id="app">
<h1>Hello App!</h1>
<p>
<!-- router-link会被渲染为a标签,to属性指定目标链接 -->
<router-link to="/foo">Go to Foo</router-link>
<router-link to="/bar">Go to Bar</router-link>
</p>
<!-- route匹配到的组件将被渲染到这里 -->
<router-view></router-view>
</div>
<script>
// 组件定义
const Foo = { template: '<div>foo</div>' }
const Bar = { template: '<div>bar</div>' }
// 定义routes
const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar }
]
// 创建router实例
const router = new VueRouter({
routes // `routes: routes`的简写
})
// 创建和挂载根Vue实例
const app = new Vue({
router, // 注入路由,于是我们可以通过this.$router访问router,通过this.$route访问当前route
computed: {
username() {
return this.$route.params.username
}
},
methods: {
goBack() {
window.history.length > 1 ? this.$router.go(-1) : this.$router.push('/')
}
}
}).$mount('#app')
</script>
</body>
</html>
<router-link>
在路由匹配成功时,会自动设置.router-link-active
class属性值。文章来源地址https://www.toymoban.com/news/detail-725920.html
参考资料
- Installation-Vue Router 3
- Get Started-Vue Router 3
到了这里,关于【Vue Router 3】入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!