Vue.js breadcrumb


SUBMITTED BY: david82213

DATE: Jan. 10, 2018, 12:05 a.m.

FORMAT: JavaScript

SIZE: 1.9 kB

HITS: 188

  1. import Vue from 'vue';
  2. import VueRouter from 'vue-router';
  3. import VueBreadcrumbs from 'vue-2-breadcrumbs';
  4. Vue.use(VueRouter);
  5. Vue.use(VueBreadcrumbs);
  6. const Feeds = {template: '<div><router-view/></div>'};
  7. const Biz = {template: '<div><h2>Biz</h2></div>'};
  8. const Foo = {template: '<div><h2>Foo</h2></div>'};
  9. const Bar = {template: '<div><h2>Bar</h2></div>'};
  10. const router = new VueRouter({
  11. routes: [
  12. {path: '/', redirect: '/feeds'},
  13. {
  14. path: '/feeds',
  15. component: Feeds,
  16. meta: {
  17. breadcrumb: 'Feeds'
  18. },
  19. children: [
  20. {
  21. path: '',
  22. component: Biz
  23. },
  24. {
  25. path: 'foo',
  26. component: Foo,
  27. meta: {
  28. breadcrumb: 'foo'
  29. }
  30. },
  31. {
  32. path: 'bar',
  33. component: Bar,
  34. meta: {
  35. breadcrumb: 'bar'
  36. }
  37. }
  38. ]
  39. }
  40. ]
  41. });
  42. new Vue({
  43. router,
  44. template: `
  45. <div id="app" class="container">
  46. <ul class="nav">
  47. <li class="nav-item dropdown">
  48. <router-link to="/feeds" class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Feeds</router-link>
  49. <div class="dropdown-menu">
  50. <router-link to="/feeds/foo" class="dropdown-item">Foo</router-link>
  51. <router-link to="/feeds/bar" class="dropdown-item">Bar</router-link>
  52. </div>
  53. </li>
  54. </ul>
  55. <breadcrumbs/>
  56. <router-view/>
  57. </div>
  58. `
  59. }).$mount('#app');

comments powered by Disqus