Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3.  
  4. Vue.use(VueRouter);
  5.  
  6. import App from './app'
  7.  
  8. (() => {
  9. "use strict";
  10.  
  11. document.addEventListener('DOMContentLoaded', function initialize () {
  12.  
  13. const Data = [
  14. {
  15. title: 'Découverte',
  16. slug: 'discovery',
  17. id: 'discovery-item',
  18. description: 'Bientôt disponible !'
  19. },
  20. {
  21. title: 'Catégories',
  22. slug: 'category',
  23. id: 'category-item',
  24. description: 'Bientôt disponible !'
  25. },
  26. {
  27. title: 'Connecté',
  28. slug: 'connected',
  29. id: 'connected-item',
  30. description: 'Bientôt disponible !'
  31. }
  32. ];
  33.  
  34. const templateContent = '<main role="main" v-bind:id="content.id"><h2>{{ content.title }}</h2><article></article>{{ content.description }}</main>';
  35.  
  36. const getComponent = (slug) => {
  37. return {
  38. template: templateContent,
  39. data () {
  40. return {
  41. content: null
  42. }
  43. },
  44. created () {
  45. this.fetchData()
  46. },
  47. watch: {
  48. '$route': 'fetchData'
  49. },
  50. methods: {
  51. fetchData () {
  52. this.content = Data.find((data) => {
  53. return data.slug === this.$route.name
  54. });
  55. }
  56. }
  57. }
  58. }
  59.  
  60. const routes = [
  61. { name: 'default', path: '/', redirect: '/category' },
  62. { name: 'category', path: '/category', component: getComponent('category') },
  63. { name: 'discovery', path: '/discovery', component: getComponent('discovery') },
  64. { name: 'connected', path: '/connected', component: getComponent('connected') }
  65. ];
  66.  
  67. const app = new Vue({
  68. components: { App },
  69. router: new VueRouter({
  70. routes
  71. })
  72. }).$mount('[role=application]')
  73.  
  74. });
  75.  
  76. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement