breadcrumb 根据路由_vue利用路由meta轻松实现面包屑导航

最近突发奇想,突然想整个属于自己的管理系统,以后接项目做就会方便很多,不是很喜欢用网上那些人家做好的后台管理模板,并不是因为模板不好,相反有些模板还非常漂亮,但自己好像就是不想用别人的,这好像是一种职业病......先说一下自己搞的这个后台管理系统的名字是alone-admin,后面可能还会有alone-api、alone-video、alone-music等等吧。反正就是想整个alone系列,当然自己也对alone系列作品寄于了很高的期望。

下图是alone-admin后台管理系统的初始形态,不知道会不会有小伙伴喜欢。

上面算是为自己的alone-admin后台管理系统做了一波宣传,下面言归正传,说说vue怎么利用路由meta轻松实现面包屑导航的。

vue利用路由meta轻松实现面包屑导航

首先我们先理一下实现面包屑导航的原理吧,面包屑说简单点就是当我访问哪个页面时,他就变成该页面的标题,也就是说我们只要向它传递一个参数就行了。那我们再说一下,我们本案例的使用场景,本来就是

我们先创建一个Test.vue文件,

我是一个测试的vue视图

然后我们在路由文件中定义这个文件的路由,路由文件一般在src/router目录。{

path: '/',

name: 'Home',

component: Home,

children: [{

path: 'test',

component: () => import( /* webpackChunkName: "test" */ '../views/Test.vue'),

meta:['测试']

}

]}

我把它定义为我Home组件的一个子路由,home的路由为"/",所以这个Test.vue的路由就是"/test"了。那下面就是怎么使用这个meta了。

打开Home.vue文件,

首页

{{item}}

这是用了element ui的面包屑导航,你并不需要过多的去关注它,从代码中可以看出$route.meta是用了v-for循环出来了,为什么要用循环,因为我们定义的meta是一个数组啊,忘记的往上翻看看,其实到这里你应该能明白了。$route.meta能读取我们在路由文件中定义的meta数据,所以,我们定义路由的时候,顺便把标题写到meta数据中就可以了。

原理就是这样,当然你可以灵活去用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2 中,可以使用 vue-router 和动态路由实现同级路由面包屑导航。下面是一个简单的示例: 首先,确保你已经安装了 vue-router。可以使用以下命令进行安装: ``` npm install vue-router ``` 然后,在你的路由配置文件中,设置动态路由,并为每个路由添加一个 `meta` 属性,用于存储面包屑的信息。例如: ```javascript // router.js import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [ { path: '/', name: 'Home', component: Home, meta: { breadcrumb: [ { text: 'Home', link: '/' } ] } }, { path: '/about', name: 'About', component: About, meta: { breadcrumb: [ { text: 'Home', link: '/' }, { text: 'About', link: '/about' } ] } }, // 其他路由... ] const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes }) export default router ``` 在上面的示例中,每个路由都有一个 `breadcrumb` 数组,用于存储面包屑的信息。每个面包屑项都包含一个 `text` 属性和一个 `link` 属性,分别表示面包屑显示的文本和跳转链接。 接下来,在你的组件中,可以使用 `this.$route.meta.breadcrumb` 来获取当前路由的面包屑信息。然后,你可以在模板中循环遍历面包屑数组,并渲染面包屑导航。 ```html <!-- App.vue --> <template> <div> <nav> <ul> <li v-for="item in breadcrumb" :key="item.text"> <router-link :to="item.link">{{ item.text }}</router-link> </li> </ul> </nav> <router-view></router-view> </div> </template> <script> export default { computed: { breadcrumb() { return this.$route.meta.breadcrumb } } } </script> ``` 在上面的示例中,我们使用了 `v-for` 指令来循环遍历面包屑数组,并使用 `router-link` 组件来渲染面包屑导航的每个项。 这样,当你在应用中切换路由时,面包屑导航会根据当前路由的 `meta` 属性自动更新。 希望这个示例可以帮助到你实现同级路由面包屑导航。如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值