亲宝软件园·资讯

展开

Vue中router-link常用属性使用案例讲解

JackieDYH 人气:0

Vue中router-link常用属性使用

在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制
而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的
至于为什么要把a换成router-link原因还是有的,比如我们之前一直惯用的nav导航里面结构是(ul>li>a),router-link可以渲染为任何元素,这里可以直接渲染成li标签,同样能实现跳转效果,节省了a标签的使用,还有一个原因可能是因为a标签正常是链接的跳转的作用,点击a时可能会重载页面,使用router-link,此标签会被vue所监听,跳转链接时就不会刷新页面了。

router-link属性

:to 属性
 
相当于a标签中的”herf”属性,后面跟跳转链接所用
<router-link :to="/home">Home</router-link>
<!-- 渲染结果 -->
<a href="/home" rel="external nofollow" >Home</a>
replace属性
 
replace在routre-link标签中添加后,页面切换时不会留下历史记录
<router-link :to="/home" replace></router-link>
 
tag属性
 
具有tag属性的router-link会被渲染成相应的标签
<router-link :to="/home" tag="li">Home</router-link>
<!-- 渲染结果 -->
<li>Home</li>
 
此时页面的li同样会起到a链接跳转的结果,vue会自动为其绑定点击事件,并跳转页面
active-class属性
 
这个属性是设置激活链接时class属性,也就是当前页面所有与当前地址所匹配的的链接都会被添加class属性
<router-link :to="/home" active-class="u-link--Active">Home</router-link>
active-class属性的默认值是router-link-active,所以如果没有设置,就会被渲染为这个class
可以在router.Js里面设置
const router = new VueRouter({
mode: 'hash',
linkActiveClass: 'u-link--Active', // 这是链接激活时的class
})
exact属性
 
开启router-link的严格模式
<router-link :to="/" exact>home</router-link>
上面这个标签如果不加exact属性,则会在vue2.leenty.com/article页面下也会被匹配到,
这却不是我们的本意,在加了这个属性后就会正确的匹配到vue2.leenty.com下

以上内容就给大家介绍到这里,下面介绍下vue中的router-link属性详解

vue中的router-link属性详解

vue中的router-link属性有以下属性值:to相当于herf标签用于添加跳转内容,replace用于页面切换时不会留下历史记录以及tag将router-link渲染成相应的标签等等

在vue中,vue.js与 vue-router 两者结合在一起可以实现简单的单页面应用,其中<router-link>是一个组件,主要用于设置导航的链接来实现不同的HTML内容切换。接下来在文章中将为大家具体介绍这一属性,具有一定的参考价值,希望对大家有所帮助。

router-link标签

在vue1.0版本中的仍然用a标签来实现链接跳转功能,但链接地址与html中不同,它是采用v-link属性来控制。但是在2.0版本中a标签就被替换成了rount-link属性,但是最终在页面上显示还是会被渲染成a标签。接下来将要详细的介绍该属性中的各个值的用法

router-link属性值详解

(1)":to" 属性值

这个属性值就相当于a标签中的"herf"属性,后面的内容为跳转链接的内容

<router-link :to="//www.qb5200.com/"></router-link>

相当于

<a href="//www.qb5200.com/"></a>

(2)"replace" 属性值

replace属性值在routre-link标签中添加的主要目的在于页面切换时不会留下历史记录

<router-link :to="//www.qb5200.com/" replace></router-link>

(3)"tag" 属性值

具有tag属性的router-link都会被渲染成相应的标签

<router-link :to="///www.qb5200.com" tag="li"></router-link>

相当于

<li></li>

此时的页面中的li同样会起到a标签的作用,因为vue会自动为其绑定点击事件,并跳转页面

(4)"active-class"属性值

这个属性是用于设置激活链接时class属性,也就是当前页面及所有与当前页面地址所匹配的的链接都会被添加class属性

<router-link :to="//www.qb5200.com" active-class="u-link--Active"></router-link>

active-class属性的默认值是router-link-active,所以如果没有设置,就会被渲染为这个class

(5)“append”属性值

设置 append 属性后,则在当前 (相对) 路径前添加基路径。例如,我们从 /a 导航到一个相对路径 b,如果没有配置 append,则路径为 /b,如果配了,则为 /a/b

<router-link :to="{ path: 'relative/path'}" append></router-link>

使用router-link代替a标签的好处

router-link属性在页面中可以渲染为任何元素,比如上述代码中渲染成li标签依然实现了跳转效果。另外当我们点击a标签时可能会重载页面,但是使用router-link后此标签会被vue所监听,跳转链接时就不会刷新页面了。

加载全部内容

相关教程
猜你喜欢
用户评论