mirror of
https://github.com/KevinMidboe/vue-js-modal.git
synced 2025-10-29 18:00:20 +00:00
Created ssr demo and moved csr to a sub-folder + rebuild
This commit is contained in:
62
demo/server_side_rendering/.nuxt/App.vue
Normal file
62
demo/server_side_rendering/.nuxt/App.vue
Normal file
@@ -0,0 +1,62 @@
|
||||
<template>
|
||||
<div id="__nuxt">
|
||||
<nuxt-loading ref="loading"></nuxt-loading>
|
||||
<component v-if="layout" :is="layout"></component>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import NuxtLoading from './components/nuxt-loading.vue'
|
||||
|
||||
|
||||
let layouts = {
|
||||
|
||||
"_default": () => import('/Users/yev/Projects/vue/vue-js-modal/demo/server/node_modules/nuxt/dist/app/layouts/default.vue' /* webpackChunkName: "layouts/default" */)
|
||||
|
||||
}
|
||||
|
||||
export default {
|
||||
head: {"meta":[],"link":[],"style":[],"script":[]},
|
||||
data: () => ({
|
||||
layout: null,
|
||||
layoutName: ''
|
||||
}),
|
||||
|
||||
mounted () {
|
||||
this.$loading = this.$refs.loading
|
||||
this.$nuxt.$loading = this.$loading
|
||||
},
|
||||
|
||||
methods: {
|
||||
setLayout (layout) {
|
||||
if (!layout || !layouts['_' + layout]) layout = 'default'
|
||||
this.layoutName = layout
|
||||
let _layout = '_' + layout
|
||||
this.layout = layouts[_layout]
|
||||
return this.layout
|
||||
},
|
||||
loadLayout (layout) {
|
||||
if (!layout || !layouts['_' + layout]) layout = 'default'
|
||||
let _layout = '_' + layout
|
||||
if (typeof layouts[_layout] !== 'function') {
|
||||
return Promise.resolve(layouts[_layout])
|
||||
}
|
||||
return layouts[_layout]()
|
||||
.then((Component) => {
|
||||
layouts[_layout] = Component
|
||||
return layouts[_layout]
|
||||
})
|
||||
.catch((e) => {
|
||||
if (this.$nuxt) {
|
||||
return this.$nuxt.error({ statusCode: 500, message: e.message })
|
||||
}
|
||||
console.error(e)
|
||||
})
|
||||
}
|
||||
},
|
||||
components: {
|
||||
NuxtLoading
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user