| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import Vue from 'vue'
- import NuxtLoading from './components/nuxt-loading.vue'
- import '../node_modules/element-ui/lib/theme-chalk/index.css'
- import '../assets/css/main.css'
- import _6f6c098b from '../layouts/default.vue'
- const layouts = { "_default": _6f6c098b }
- export default {
- head: {"title":"boss","meta":[{"charset":"utf-8"},{"name":"viewport","content":"width=device-width, initial-scale=1"},{"hid":"description","name":"description","content":"boss ssr ver"}],"link":[{"rel":"icon","type":"image\u002Fx-icon","href":"\u002Ffavicon.ico"}],"style":[],"script":[]},
- render(h, props) {
- const loadingEl = h('nuxt-loading', { ref: 'loading' })
- const layoutEl = h(this.layout || 'nuxt')
- const templateEl = h('div', {
- domProps: {
- id: '__layout'
- },
- key: this.layoutName
- }, [ layoutEl ])
- const transitionEl = h('transition', {
- props: {
- name: 'layout',
- mode: 'out-in'
- },
- on: {
- beforeEnter(el) {
- // Ensure to trigger scroll event after calling scrollBehavior
- window.$nuxt.$nextTick(() => {
- window.$nuxt.$emit('triggerScroll')
- })
- }
- }
- }, [ templateEl ])
- return h('div', {
- domProps: {
- id: '__nuxt'
- }
- }, [
- loadingEl,
- transitionEl
- ])
- },
- data: () => ({
- layout: null,
- layoutName: ''
- }),
- beforeCreate() {
- Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)
- },
- created() {
- // Add this.$nuxt in child instances
- Vue.prototype.$nuxt = this
- // add to window so we can listen when ready
- if (typeof window !== 'undefined') {
- window.$nuxt = this
- }
- // Add $nuxt.error()
- this.error = this.nuxt.error
- },
- mounted() {
- this.$loading = this.$refs.loading
- },
- watch: {
- 'nuxt.err': 'errorChanged'
- },
- methods: {
- errorChanged() {
- if (this.nuxt.err && this.$loading) {
- if (this.$loading.fail) this.$loading.fail()
- if (this.$loading.finish) this.$loading.finish()
- }
- },
- setLayout(layout) {
- if (!layout || !layouts['_' + layout]) {
- layout = 'default'
- }
- this.layoutName = layout
- this.layout = layouts['_' + layout]
- return this.layout
- },
- loadLayout(layout) {
- if (!layout || !layouts['_' + layout]) {
- layout = 'default'
- }
- return Promise.resolve(layouts['_' + layout])
- }
- },
- components: {
- NuxtLoading
- }
- }
|