<router-link> 组件支持用户在具有路由功能的应用中 (点击) 导航。 通过 to 属性指定目标地址,默认渲染成带有正确链接的 <a> 标签,可以通过配置 tag 属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。
好处:
无论是 HTML5 history 模式还是 hash 模式,它的表现行为一致,所以,当你要切换路由模式,或者在 IE9 降级使用 hash 模式,无须作任何变动。
在 HTML5 history 模式下,router-link
会拦截点击事件,让浏览器不在重新加载页面。
当你在 HTML5 history 模式下使用 base
选项之后,所有的 to
属性都不需要写(基路径)了。
以下两种实现方式得到的效果一样
一、
<a href="#/login">登陆</a>
<a href="#/register">注册</a>
二、
<router-link to="/login">登陆</router-link>
<router-link to="/register">注册</router-link>
<router-link>默认渲染为一个<a>标签
假如我们想把<router-link>渲染成其他标签,可修改其属性tag,如:
<router-link to="/login" tag=“span”>登陆</router-link>
<router-link to="/register">注册</router-link>
表示目标路由的链接。当被点击后,内部会立刻把 to
的值传到 router.push()
,所以这个值可以是一个字符串或者是描述目标位置的对象
<!-- 字符串 --> <router-link to="home">Home</router-link> <!-- 渲染结果 --> <a href="home">Home</a> <!-- 使用 v-bind 的 JS 表达式 --> <router-link v-bind:to="‘home‘">Home</router-link> <!-- 不写 v-bind 也可以,就像绑定别的属性一样 --> <router-link :to="‘home‘">Home</router-link> <!-- 同上 --> <router-link :to="{ path: ‘home‘ }">Home</router-link> <!-- 命名的路由 --> <router-link :to="{ name: ‘user‘, params: { userId: 123 }}">User</router-link> <!-- 带查询参数,下面的结果为 /register?plan=private --> <router-link :to="{ path: ‘register‘, query: { plan: ‘private‘ }}">Register</router-link>
参考文章
原文:https://www.cnblogs.com/xiaoliu66007/p/12868650.html