vue-breadcrumbs
Version:
Breadcrumbs for vue.js
6 lines • 1.33 kB
JavaScript
/*!
* vue-breadcrumbs v1.2.0
* (c) 2018 Sam Turrell
* Released under the MIT License.
*/
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):e.VueBreadcrumbs=r()}(this,function(){"use strict";function e(e,r){function n(r){return parseFloat(e.version)<2&&(r=Object.keys(r).filter(function(e){return!isNaN(e)}).map(function(e){return r[e]})),r}Object.defineProperty(e.prototype,"$breadcrumbs",{get:function(){var r=[],t=n(this.$route.matched);return t.forEach(function(n){var t=parseFloat(e.version)<2?n.handler&&n.handler.breadcrumb:n.meta&&n.meta.breadcrumb;t&&r.push(n)}),r}});var t={registerComponent:!0,methods:{linkProp:function(e){return e.name||e.handler&&e.handler.name?{name:e.name||e.handler.name,params:this.$route.params}:{path:e.handler&&e.handler.fullPath?e.handler.fullPath:e.path,params:this.$route.params}}},filters:{crumbText:function(r){return parseFloat(e.version)<2?r.handler.breadcrumb:r.meta.breadcrumb}},template:'<nav class="breadcrumbs" v-if="$breadcrumbs.length"> <ul> <li v-for="crumb in $breadcrumbs"> <router-link :to="linkProp(crumb)">{{ crumb | crumbText }}</router-link> </li> </ul> </nav>'};r=Object.assign(t,r),r.registerComponent&&e.component("breadcrumbs",r)}var r={install:e,version:"0.3.1"};return r});