Просмотр исходного кода

fragment should not be in single mode if the only node is an anchor (fix #1784)

Evan You 10 лет назад
Родитель
Сommit
73c2499a84
2 измененных файлов с 7 добавлено и 2 удалено
  1. 4 1
      src/fragment/fragment.js
  2. 3 1
      src/util/dom.js

+ 4 - 1
src/fragment/fragment.js

@@ -23,7 +23,10 @@ function Fragment (linker, vm, frag, host, scope, parentFrag) {
     parentFrag.childFrags.push(this)
   }
   this.unlink = linker(vm, frag, host, scope, this)
-  var single = this.single = frag.childNodes.length === 1
+  var single = this.single =
+    frag.childNodes.length === 1 &&
+    // do not go single mode if the only node is an anchor
+    !(frag.childNodes[0].__vue_anchor)
   if (single) {
     this.node = frag.childNodes[0]
     this.before = singleBefore

+ 3 - 1
src/util/dom.js

@@ -285,9 +285,11 @@ exports.isTemplate = function (el) {
  */
 
 exports.createAnchor = function (content, persist) {
-  return config.debug
+  var anchor = config.debug
     ? document.createComment(content)
     : document.createTextNode(persist ? ' ' : '')
+  anchor.__vue_anchor = true
+  return anchor
 }
 
 /**