Prechádzať zdrojové kódy

add view Page to display static pages && add routing

axolotle 2 rokov pred
rodič
commit
51891420d0
3 zmenil súbory, kde vykonal 56 pridanie a 4 odobranie
  1. 1 1
      src/App.vue
  2. 51 0
      src/pages/Page.vue
  3. 4 3
      src/router/routes.js

+ 1 - 1
src/App.vue

@@ -3,7 +3,7 @@
     <main-header />
 
     <main id="main">
-      <router-view />
+      <router-view :key="$route.path" />
     </main>
 
     <nodes-history />

+ 51 - 0
src/pages/Page.vue

@@ -0,0 +1,51 @@
+<template>
+  <div class="static-page">
+    <b-overlay
+      :show="page === undefined"
+      z-index="0"
+    >
+      <page-view
+        v-if="page"
+        :page="page" slug="static"
+        @close="$router.push({ name: 'home' })"
+      />
+    </b-overlay>
+  </div>
+</template>
+
+<script>
+import { PageView } from '@/components/layouts'
+
+
+export default {
+  name: 'Page',
+
+  props: {
+    id: { type: Number, required: true }
+  },
+
+  components: {
+    PageView
+  },
+
+  data () {
+    return {
+      page: undefined
+    }
+  },
+
+  async created () {
+    this.page = await this.$store.dispatch('QUERY_PAGE_BY_ID', Number(this.id))
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.static-page {
+  min-height: 100%;
+
+  .b-overlay-wrap {
+    position: static !important;
+  }
+}
+</style>

+ 4 - 3
src/router/routes.js

@@ -59,9 +59,10 @@ export default [
   },
 
   {
-    name: 'blog',
-    path: '/blog',
-    component: () => import(/* webpackChunkName: "blog" */ '@/pages/Blog')
+    name: 'pages',
+    path: '/pages/:id',
+    props: true,
+    component: () => import(/* webpackChunkName: "blog" */ '@/pages/Page')
   },
 
   {