v-router路由参数

v-router路由参数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<div id="app">
		</div>
	</body>
	<script type="text/javascript" src="js/vue.min.js"></script>
	<script type="text/javascript" src=".\node_modules\vue-router\dist\vue-router.js">
	</script>

	<script type="text/javascript">
		// 3、让Vue 使用VueRouter创建
		// Vue.use(VueRouter);

		var UserParams = {
			template: `
				<div>我是用户1</div>
			`,
			// 当引入vue-router时 会抛出两个全局对象 挂载到Vue实例化对象
			created() {
				console.log(this.$router); // this.$router(它就是VueRouter)
				
				// 获取传过来的id值  可以拿着这个id去向后端发起请求获取响应数据
				console.log(this.$route.params.id); // this.$route(配置路由信息对象)
			},

		};

		var UserQuery = {
			template: `
				<div>我是用户2</div>
			`,
		};

		// 4、创建router对象
		// 路由范式
		// 1)xxxx.html#user/1          params 动态路由参数
		// 2)xxxx.html#/user?userId=1  query 参数查询
		var router = new VueRouter({
			// 5、配置路由对象
			routes: [
				// 路由匹配的规则
				{
					// 动态路由参数 以冒号开头
					path: '/user/:id',
					component: UserParams,
					// 给当前路由命名
					name: 'userP',
				},
				{
					path: '/user',
					component: UserQuery,
					name: 'userQ',
				},
			]
		});
		// 引入vue-router模块后 会抛出两个全局组件 
		// 1)router-link 相当于a标签,里面的to属性相当于href属性
		// 2)router-view 路由匹配组件出口 (它渲染的组件是你使用 vue-router 指定的)
		var App = {
			template: `
				<div>
					<!--绑定to属性 通过路由名字匹配对应的组件-->
					<router-link :to='{name:"userP",params:{id:1}}'>用户1</router-link>
					<router-link :to='{name:"userQ",query:{userid:2}}'>用户2</router-link>
					<router-view></router-view>
				</div>
			`,
		}
		new Vue({
			el: '#app',
			data() {
				return {
				}
			},
			components: {
				App
			},
			// 6、交给Vue实例化对象管理
			router: router,
			template: `
				<App/>
			`,
		});
	</script>
</html>

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue-router提供了导航守卫来保护由的导航。导航守卫可以在跳转或取消导航的过程中进行拦截。导航守卫可以分为全局守卫、由独享守卫和组件级守卫。 全局守卫是注册在router实例上的,可以使用router.beforeEach方法注册一个全局前置守卫。在每次由切换之前,全局前置守卫会被触发并接收to、from和next三个参数。可以在全局前置守卫中进行一些权限验证或者其他操作,然后通过调用next方法来进行导航。 由独享守卫是在定义由的时候通过beforeEnter属性来注册。由独享守卫只会对特定的由生效,可以在由配置中定义一个beforeEnter函数来进行拦截操作。 组件级守卫是使用vue-router提供的beforeRouteEnter、beforeRouteUpdate和beforeRouteLeave方法来注册。beforeRouteEnter在进入由前被调用,而beforeRouteUpdate在当前由复用时被调用,beforeRouteLeave在离开当前由时被调用。这些守卫可以在组件内部进行定义,并可以在组件内部进行一些操作,比如获取数据或者进行一些清理工作。 总结起来,vue-router的由守卫提供了全局守卫、由独享守卫和组件级守卫来保护由的导航,可以在不同的阶段进行各种操作,确保由的安全和灵活性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue由守卫(导航守卫)](https://blog.csdn.net/m0_48949881/article/details/122436528)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值