mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-27 08:02:01 +00:00
rewrite App.vue with render function
This commit is contained in:
parent
75350cdd78
commit
870cbd6278
@ -1,12 +1,3 @@
|
|||||||
<template>
|
|
||||||
<div id="__nuxt">
|
|
||||||
<% if (loading) { %><nuxt-loading ref="loading"></nuxt-loading><% } %>
|
|
||||||
<% if (layoutTransition) { %><transition name="<%= layoutTransition.name %>" mode="<%= layoutTransition.mode %>"><% } %>
|
|
||||||
<component v-if="layout" :is="nuxt.err ? 'nuxt' : layout" :key="layoutName"></component>
|
|
||||||
<% if (layoutTransition) { %></transition><% } %>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
<% if (loading) { %>import NuxtLoading from '<%= (typeof loading === "string" ? loading : "./components/nuxt-loading.vue") %>'<% } %>
|
<% if (loading) { %>import NuxtLoading from '<%= (typeof loading === "string" ? loading : "./components/nuxt-loading.vue") %>'<% } %>
|
||||||
@ -26,6 +17,25 @@ let resolvedLayouts = {}
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
head: <%= JSON.stringify(head) %>,
|
head: <%= JSON.stringify(head) %>,
|
||||||
|
render(h, props) {
|
||||||
|
<% if (loading) { %>const loadingEl = h('nuxt-loading', { ref: 'loading' })<% } %>
|
||||||
|
|
||||||
|
const layoutEl = h(this.nuxt.err ? 'nuxt' : this.layout, {
|
||||||
|
key: this.layoutName
|
||||||
|
})
|
||||||
|
|
||||||
|
const transitionEl = h('transition', {
|
||||||
|
props: {
|
||||||
|
name: '<%= layoutTransition.name %>',
|
||||||
|
mode: '<%= layoutTransition.mode %>'
|
||||||
|
}
|
||||||
|
}, [ layoutEl ])
|
||||||
|
|
||||||
|
return h('div', [
|
||||||
|
<% if (loading) { %>loadingEl,<% } %>
|
||||||
|
transitionEl
|
||||||
|
])
|
||||||
|
},
|
||||||
data: () => ({
|
data: () => ({
|
||||||
layout: null,
|
layout: null,
|
||||||
layoutName: ''
|
layoutName: ''
|
||||||
|
Loading…
Reference in New Issue
Block a user