欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

12.vue-router相关API(1)router-link和router-view

程序员文章站 2022-06-22 16:55:04
官网链接:https://router.vuejs.org/zh/api组件支持用户在具有路由功能的应用中 (点击) 导航。 通过to属性指定目标地址,默认渲染成带有正确链接的标签,可以通过配置tag属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。to:表示目标路由的链接。

官网链接:https://router.vuejs.org/zh/api

<router-link>

<router-link> 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址,默认渲染成带有正确链接的 <a> 标签,可以通过配置 tag 属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。

to

表示目标路由的链接。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>1.router-link Props to</title>
	<script src="https://unpkg.com/vue/dist/vue.js"></script>
	<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
	<div id="app">
		<h1>{{msg}}</h1>
		<router-link to="/home">Home</router-link>
		<router-view></router-view>
	</div>
	<script type="text/javascript">
		Vue.config.productionTip = false;
		const router = new VueRouter({})
		const app = new Vue({
			router: router,
			data(){
				return {
					msg: 'to'
				}
			},
		}).$mount('#app');
	</script>
</body>
</html>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

可以看出,vue地router,是类似一种处理id的方式进行页面的显示。

replace

设置 replace 属性的话,当点击时,导航后不会留下 history 记录。改部分代码如下:

<router-link to="/home" replace>Home</router-link>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

append

设置 append 属性后,则在当前 (相对) 路径前添加基路径。改部分代码如下:

<router-link to="home" append>Home</router-link>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

12.vue-router相关API(1)router-link和router-view

tag

有时候想要 <router-link> 渲染成某种标签,例如 <li>。 可以使用 tag prop 类指定何种标签,同样它还是会监听点击,触发导航。改部分代码如下:

<router-link to="/home" tag="home">Home</router-link>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

active-class

设置链接激活时使用的 CSS 类名。默认值: "router-link-active"。改部分代码如下(只是突出演示):

<router-link to="/home" active-class="激活">Home</router-link>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

exact

“是否激活”默认类名的依据是包含匹配。如下,是被激活的。

12.vue-router相关API(1)router-link和router-view

改部分代码如下:

<router-link to="/home" exact>Home</router-link>

12.vue-router相关API(1)router-link和router-view

现在不激活了。

event

声明可以用来触发导航的事件。可以是一个字符串或是一个包含字符串的数组。改部分代码如下:

<router-link to="/home" event='dblclick'>Home</router-link>

要双击才能激活了,点击一下已经不能激活了。

exact-active-class

配置当链接被精确匹配的时候应该激活的 class。默认值是"router-link-exact-active"。

12.vue-router相关API(1)router-link和router-view

改部分代码如下:

<router-link to="/home" exact-active-class='激活的 class'>Home</router-link>

12.vue-router相关API(1)router-link和router-view

aria-current-value

当链接根据精确匹配规则激活时配置的 aria-current 的值,这个值应该是 ARIA 规范中允许的 aria-current 的值('page' | 'step' | 'location' | 'date' | 'time')。默认值是"page"。

12.vue-router相关API(1)router-link和router-view

改部分代码如下:

<router-link to="/home" aria-current-value='time'>Home</router-link>

12.vue-router相关API(1)router-link和router-view

<router-view>

用于显示组件的视图。需要在VueRouter实例对象中匹配好对应的组件。代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>1.router-link Props to</title>
	<script src="https://unpkg.com/vue/dist/vue.js"></script>
	<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
	<div id="app">
		<h1>{{msg}}</h1>
		<router-link to="/home">Home</router-link>
		<router-view></router-view>
	</div>
	<script type="text/javascript">
		Vue.config.productionTip = false;
		const router = new VueRouter({
				routes: [
						{
							path: '/home',
							component: {
								template: '<div>匹配 home 路径的组件</div>',
							}
						}
				],
		})
		const app = new Vue({
			router: router,
			data(){
				return {
					msg: 'to'
				}
			},
		}).$mount('#app');
	</script>
</body>
</html>

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

name

如果 <router-view>设置了名称,则会渲染对应的路由配置中 components 下的相应组件。部分代码改成如下:

html:

<router-view name='home'></router-view>

js:

		const router = new VueRouter({
			routes: [
				{
					path: '/home',
					components: {
						default: {
							template: '<div>默认的组件</div>',
						},
						home: {
							template: '<div>匹配 home 路径的组件</div>',
						},
						test: {
							template: '<div>test 路径的组件</div>',
						}
					}
				}
			]
		})

12.vue-router相关API(1)router-link和router-view12.vue-router相关API(1)router-link和router-view

本文地址:https://blog.csdn.net/weixin_47870554/article/details/107297830