diff --git a/front-end/h5/src/engine-entry.js b/front-end/h5/src/engine-entry.js
index cca4b068..81a82e63 100644
--- a/front-end/h5/src/engine-entry.js
+++ b/front-end/h5/src/engine-entry.js
@@ -30,34 +30,54 @@ const Engine = {
components: {
NodeWrapper
},
+ data() {
+ return {
+ isLongPage: window.__work.mode === 'h5_long_page',
+ }
+ },
methods: {
- renderPreview (h, _elements) {
- const isLongPage = window.__work.mode === 'h5_long_page'
- const elements = _elements.map(element => new Element(element))
+ renderLongPage () {
+ const work = window.__work
+ return this.renderPreview(work.pages[0].elements)
+ },
+ renderSwiperPage () {
+ const work = window.__work
+ return (
+
+
{
+ work.pages.map(page => {
+ return (
+
+ {/* this.walk(h, page.elements) */}
+ { this.renderPreview(page.elements) }
+
+ )
+ })
+ }
+
+
+ )
+ },
+ renderPreview (pageElements) {
let pageWrapperStyle = {
height: '100%',
position: 'relative'
}
- if (isLongPage) {
+ if (this.isLongPage) {
pageWrapperStyle = {
...pageWrapperStyle,
'overflow-y': 'scroll'
}
}
+ const elements = pageElements.map(element => new Element(element))
return (
{
elements.map((element, index) => {
- // const style = element.getStyle({ position: 'absolute', isRem: true })
- // const data = {
- // style,
- // props: element.getProps({ mode: 'preview' })
- // }
- // return h(element.name, data)
return
- {h(element.name, element.getPreviewData({ position: 'static' }))}
+ {this.$createElement(element.name, element.getPreviewData({ position: 'static' }))}
})
}
@@ -67,23 +87,11 @@ const Engine = {
},
render (h) {
const work = window.__work
- return (
-
-
-
{
- work.pages.map(page => {
- return (
-
- {/* this.walk(h, page.elements) */}
- { this.renderPreview(h, page.elements) }
-
- )
- })
- }
-
-
-
- )
+ return
+ {
+ this.isLongPage ? this.renderLongPage() : this.renderSwiperPage()
+ }
+
}
}