Nuxt项目路由根组件管理,切换路由标签高亮设置

做过vue路由的人应该都熟悉 当我们访问每一个路由时 他会将内容注入到router-view标签上 而这个我们通常会发展跟组件中

根组件 其实是 .nuxt目录下的 layouts中 的default.vue组件
在这里插入图片描述
我们将代码改成

<template>
  <div>
    app
    <Nuxt />
  </div>
</template>

我们在节点上加了个文本 app
在这里插入图片描述
在这里插入图片描述
你会发现 无论怎么切换路由 这上面都是一样的 因为他写在根组件上了

这里可以简单总结为 default.vue 是Nuxt项目的根组件 而 Nuxt标签就相当于 router-view标签

Nuxt的路由跳转标签叫 nuxt-link 例如 我们在default.vue上写一个切换路由 就可以这样

<template>
  <div>
      <nuxt-link to = "/">首页</nuxt-link>
      <nuxt-link to = "/engineering">工程界面</nuxt-link>
      <Nuxt />
  </div>
</template>

在这里插入图片描述
然后 我们点一下 工程界面
在这里插入图片描述
也是成功完成了跳转

然后 我们回到首页 右键 查看源码
在这里插入图片描述
可以看到 还是直接帮我们读成a标签的 爬虫也可以爬进来
然后加上我们 seo常用的 rel配置

<nuxt-link rel = "nofollow External noopener noreferrer" to = "/">首页</nuxt-link>

在这里插入图片描述
当然 我只是为了说 可以这样设置 这些不要乱用哦 都有对应的意思的
nofollow : a 标签rel值 告诉搜索引擎 该页面不需要分享权重
External : a标签rel值 声明本网页属于外部网址
noopener noreferrer : rel值,当a设置了_blank时能规避钓鱼漏洞

和vue的导航标签一样 可以通过 tag 改变类型 例如 我们这样写

<nuxt-link tag="span" to = "/">首页</nuxt-link>
<nuxt-link tag="span" to = "/engineering">工程界面</nuxt-link>

我们这里声明他们是 span 标签 看界面
在这里插入图片描述
这里真就成立span
在这里插入图片描述
但我们发现 变成span之后 点击之后就没有高亮显示的效果了

我们直接将代码修改如下

<template>
  <div>
      <nuxt-link tag="span" to = "/view" activeClass = "active">视图</nuxt-link>
      <nuxt-link tag="span" to = "/engineering" activeClass = "active">工程界面</nuxt-link>
      <Nuxt />
  </div>
</template>

<style>
.active{
      
      
  color: red;
}
</style>

这里 我们设置了当前被选的路由 class为active active类加了个红色字体的样式
在这里插入图片描述

高亮的效果他就出来了

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/129916253