Vue中router-link组件的属性

悠悠 2023-06-29 08:27 61阅读 0赞

router-link组件的属性

以下面的路由配置为例,介绍一下router-link组件的属性

  1. routes: [
  2. { path: '/home', component: { template: '<div>Home组件</div>' }},
  3. { path: '/products', component: { template: '<div>Products组件</div>' }}
  4. ]

to属性

路由的目标,值可以是一个字符串,也可以是描述目标位置的对象,触发(默认click触发)导航会立刻把to的值传送给router.push()方法。

  1. <router-link to="/home">首页</router-link>
  2. <router-link :to="{path:'/home'}">首页</router-link>

replace属性

boolean类型,设置replace为true时,会执行 router.replace() 方法,这样做history栈中不会增加一条记录。

  1. <router-link to="/home" replace>首页</router-link>

tag属性

string类型,默认值是”a”,用来指定 渲染成何种标签

  1. <router-link to="/home" tag="li">首页</router-link> <!--将被渲染成 <li>首页</li> -->

event属性

string类型或array类型,默认值是”click”,用来声明可以用来触发导航的事件

  1. <router-link to="/home" event="mouseover">首页</router-link>

exact属性

boolean类型,默认值是false ,用来设置是否使用精确匹配模式,匹配模式有模糊匹配和精确匹配

active-class属性

string类型,默认值是”router-link-active”,用来设置链接激活时使用的 CSS 类名,只要url中有某router-link中的to属性对应的路由,激活指定的激活的 class。

exact-active-class属性

string类型,默认值是”router-link-exact-active”,用来配置当链接被精确匹配的时候应该激活的 class。
精确匹配必须要在url中完全匹配到router-link中的to属性对应的路由,激活指定的激活的 class。

  1. <router-link to="/home" >首页1</router-link>
  2. <router-link to="/home" exact>首页2</router-link>
  3. <router-link to="/home" active-class="is-actived" exact-active-class="is-exact-actived">首页3
  4. </router-link>
  5. <router-link to="/home/1" >首页4</router-link>
  6. <router-link to="/products">列表</router-link>

上面的例子中,当url时…#/home/1时,渲染的页面是
在这里插入图片描述
首页1模糊匹配但不精确匹配,默认的class “router-link-active” 被激活,
首页2要求精确匹配,所以匹配不成功,
首页3模糊匹配成功,设置的active-class被激活,
首页4模糊匹配和精确匹配都成功,默认的class “router-link-active” 和”router-link-exact-active”被激活。

append属性

boolean类型,默认值是false,用来设置 append 属性后,则在当前 (相对) 路径前添加基路径
如在下面的例子中,先点击列表1再点击列表2,路由的path会从/products变为/products/products

  1. <router-link to="/products" >产品1</router-link>
  2. <router-link to="products" append>产品2</router-link>

发表评论

表情:
评论列表 (有 0 条评论,61人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue传递

     Vue组件中值是如何传递的? 三、v-for的情况下,父组件向子组件传值 两种情况如下: 1. 父组件传一个items数组——对象的集合,一次将所有的值传过去,此时fo