发布网友 发布时间:2022-04-22 03:44
共3个回答
懂视网 时间:2022-04-22 15:12
vue中的router-link属性有以下属性值:to相当于herf标签用于添加跳转内容,replace用于页面切换时不会留下历史记录以及tag将router-link渲染成相应的标签等等在vue中,vue.js与 vue-router 两者结合在一起可以实现简单的单页面应用,其中<router-link>是一个组件,主要用于设置导航的链接来实现不同的HTML内容切换。接下来在文章中将为大家具体介绍这一属性,具有一定的参考价值,希望对大家有所帮助。
【推荐课程:Vue教程】
router-link标签
在vue1.0版本中的仍然用a标签来实现链接跳转功能,但链接地址与html中不同,它是采用v-link属性来控制。但是在2.0版本中a标签就被替换成了rount-link属性,但是最终在页面上显示还是会被渲染成a标签。接下来将要详细的介绍该属性中的各个值的用法
router-link属性值详解
(1)":to" 属性值
这个属性值就相当于a标签中的"herf"属性,后面的内容为跳转链接的内容
<router-link :to="http://www.gxlcms.com/">PHP中文网</router-link>
相当于
<a href="http://www.gxlcms.com/">PHP中文网</a>
(2)"replace" 属性值
replace属性值在routre-link标签中添加的主要目的在于页面切换时不会留下历史记录
<router-link :to="http://www.gxlcms.com/" replace></router-link>
(3)"tag" 属性值
具有tag属性的router-link都会被渲染成相应的标签
<router-link :to="/http://www.gxlcms.com/" tag="li">PHP中文网</router-link>
相当于
<li>PHP中文网</li>
此时的页面中的li同样会起到a标签的作用,因为vue会自动为其绑定点击事件,并跳转页面
(4)"active-class"属性值
这个属性是用于设置激活链接时class属性,也就是当前页面及所有与当前页面地址所匹配的的链接都会被添加class属性
<router-link :to="http://www.gxlcms.com/" active-class="u-link--Active">PHP中文网</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所监听,跳转链接时就不会刷新页面了。
总结:
热心网友 时间:2022-04-22 12:20
首先,Vue.component的第二个参数是一个配置对象,你这个写法连JS语法都不符合。热心网友 时间:2022-04-22 13:38
比如有这么个router需要跳转
const router = new VueRouter({
routes: [
{
path: '/user/:userId',
name: 'user',
component: User
}
]
})
你的router-link可以这么写
<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
还可以用编程在代码里写,效果也一样:
router.push({ name: 'user', params: { userId: 123 }})
具体的推荐你看下vue router的官网,里面有详细的说明和例子