Vue Router 路由教程

news/2024/7/10 1:20:28 标签: vue

Vue Router 路由教程

文章目录

  • Vue Router 路由教程
      • 1:下载 vue-router
      • 2:创建 HelloWorld.vue
      • 3:创建 router.js
      • 4:安装路由(main.js)
      • 5:使用路由(App.vue
      • 6:设置每个页面的title

vuerouter_2">1:下载 vue-router

npm install vue-router

vue_7">2:创建 HelloWorld.vue

<template>
  <div class="hello">
    <h1>HELLO WORLD</h1>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  }
}
</script>

<style scoped>

</style>

3:创建 router.js

import Hello from './components/HelloWorld.vue'
export default {
	mode: 'history', //hash/history
	routes: [{
			path: '/about',
			component: Hello,
			meta: {
				title: '世界你好'
			}
		}
	]
}

4:安装路由(main.js)

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'
import routerConfig from "./router"

Vue.use(VueRouter)

const router = new VueRouter(
  routerConfig
);

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

vue_68">5:使用路由(App.vue

<template>
	<div>
		<router-link style="color:#606266" to="/">LJS</router-link>
		<router-link style="color:#606266" to="/about">HELLO</router-link>
		<router-view/>
	</div>
</template>
<script>
	export default {
		name: 'App',
		components: {

		},
	}
</script>

<style>

</style>

6:设置每个页面的title

修改全局前置守卫,设置每个页面的title

router.beforeEach((to, from, next) => {//beforeEach是router的钩子函数,在进入路由前执行
  if (to.meta.title) {//判断是否有标题
    document.title = to.meta.title
  }
  next()
})
  • to: Route: 即将要进入的目标 路由对象
  • from: Route:当前导航正要离开的路由
  • next: Function:一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
    ①:next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。
    ②:next(false):中断当前的导航。如果浏览器的 URL 改变了 (可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。
    ③:next('/') 或者 next({ path: '/' }):跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。你可以向 next 传递任意位置对象,且允许设置诸如 replace: true、name: ‘home’ 之类的选项以及任何用在 router-link 的 to prop 或 router.push 中的选项。
    ④:next(error):(2.4.0+) 如果传入 next 的参数是一个 Error 实例,则导航会被终止且该错误会被传递给 router.onError() 注册过的回调。

修改 main.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'
import routerConfig from "./router"

Vue.use(VueRouter)

const router = new VueRouter(
  routerConfig
);

router.beforeEach((to, from, next) => {//beforeEach是router的钩子函数,在进入路由前执行
  if (to.meta.title) {//判断是否有标题
    document.title = to.meta.title
  }
  next()
})

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

http://www.niftyadmin.cn/n/965432.html

相关文章

周末小结

2019独角兽企业重金招聘Python工程师标准>>> 周末小记 主要事件 1.16号参加部门年会&#xff08;上午趣味运动会&#xff0c;下午农家院包水饺&#xff0c;晚上抽奖&#xff09; 工作第一年&#xff0c;参加中心举办的聚会&#xff0c;130多个人在体育场进行趣味运动…

axios 请求

axios 请求 文章目录axios 请求1&#xff1a;下载2&#xff1a;安装3&#xff1a;使用1&#xff1a;下载 使用 cdn&#xff1a; <script src"https://unpkg.com/axios/dist/axios.min.js"></script>或&#xff1a; <script src"https://cdn.s…

Java Web学习总结(17)——JSP属性范围

所谓的属性范围就是一个属性设置之后&#xff0c;可以经过多少个其他页面后仍然可以访问的保存范围。 一、JSP属性范围 JSP中提供了四种属性范围&#xff0c;四种属性范围分别指以下四种&#xff1a; 当前页&#xff1a;一个属性只能在一个页面中取得&#xff0c;跳转到其他页面…

Nginx 教程(详细)

Nginx 教程&#xff08;详细&#xff09; 文章目录Nginx 教程&#xff08;详细&#xff09;1&#xff1a;简介2&#xff1a;安装2.1&#xff1a;安装gcc环境2.2&#xff1a;安装pcre2.3&#xff1a;安装zlib2.4&#xff1a;安装openssl2.5&#xff1a;安装Nginx2.6&#xff1a;…

mac 苹果电脑恢复 Recovery HD;进不去恢复模式;

1&#xff1a;mac 苹果电脑恢复 Recovery HD&#xff1b;进不去恢复模式&#xff1b; 文章目录1&#xff1a;mac 苹果电脑恢复 Recovery HD&#xff1b;进不去恢复模式&#xff1b;如果你不小心删除了 mac 实用工具镜像文件&#xff0c;那么 commandr 将失效&#xff0c;对一些…

程序猿人们、媛媛们精神分裂的9件事

在外行人眼里&#xff0c;软件开发工作就跟看天书一样难——但是程序员往往会一脸苦哈哈地表示“还有更难的呢&#xff01;”简直就是分分钟秒杀&#xff0c;精神分裂啊&#xff01;&#xff01;&#xff01;1. 设计解决方案任务&#xff1a;给出一系列要求&#xff0c;设计出可…

mac苹果电脑 HbuilderX 格式化代码

mac苹果电脑 HbuilderX 格式化代码 commandk

陈海泉:SDN/NFV 2.0 架构的网络技术实践

分享人&#xff1a; 陈海泉&#xff0c;青云QingCloud 系统工程师 大家好&#xff0c;我是 QingCloud 的工程师陈海泉&#xff0c;今天给大家分享一些 SDN/NFV 2.0 架构的网络技术。 首先&#xff0c;说一下什么是 SDN&#xff0c;SDN 就是软件定义网络。当然也不是所有网络定制…