aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vue/src/platforms/weex/compiler/modules/append.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/vue/src/platforms/weex/compiler/modules/append.js')
-rw-r--r--node_modules/vue/src/platforms/weex/compiler/modules/append.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/vue/src/platforms/weex/compiler/modules/append.js b/node_modules/vue/src/platforms/weex/compiler/modules/append.js
new file mode 100644
index 00000000..6e7be267
--- /dev/null
+++ b/node_modules/vue/src/platforms/weex/compiler/modules/append.js
@@ -0,0 +1,27 @@
+/* @flow */
+
+import { makeMap } from 'shared/util'
+
+// The "unitary tag" means that the tag node and its children
+// must be sent to the native together.
+const isUnitaryTag = makeMap('cell,header,cell-slot,recycle-list', true)
+
+function preTransformNode (el: ASTElement, options: CompilerOptions) {
+ if (isUnitaryTag(el.tag) && !el.attrsList.some(item => item.name === 'append')) {
+ el.attrsMap.append = 'tree'
+ el.attrsList.push({ name: 'append', value: 'tree' })
+ }
+ if (el.attrsMap.append === 'tree') {
+ el.appendAsTree = true
+ }
+}
+
+function genData (el: ASTElement): string {
+ return el.appendAsTree ? `appendAsTree:true,` : ''
+}
+
+export default {
+ staticKeys: ['appendAsTree'],
+ preTransformNode,
+ genData
+}