Browse Source

remove v-else support for v-show

Evan You 10 năm trước cách đây
mục cha
commit
4ff27c9ab7
2 tập tin đã thay đổi với 4 bổ sung15 xóa
  1. 1 1
      src/compiler/codegen.js
  2. 3 14
      src/compiler/parser/index.js

+ 1 - 1
src/compiler/codegen.js

@@ -126,7 +126,7 @@ function genData (el) {
   }
   // v-show, used to avoid transition being applied
   // since v-show takes it over
-  if (el.attrsMap['v-show'] || el.show) {
+  if (el.attrsMap['v-show']) {
     data += 'show:true,'
   }
   // props

+ 3 - 14
src/compiler/parser/index.js

@@ -233,22 +233,11 @@ function processIf (el) {
 
 function processElse (el, parent) {
   const prev = findPrevElement(parent.children)
-  if (prev && (prev.if || prev.attrsMap['v-show'])) {
-    if (prev.if) {
-      // v-if
-      prev.elseBlock = el
-    } else {
-      // v-show: simply add a v-show with reversed value
-      addDirective(el, 'show', `!(${prev.attrsMap['v-show']})`)
-      // also copy its transition
-      el.transition = prev.transition
-      // als set show to true
-      el.show = true
-      parent.children.push(el)
-    }
+  if (prev && prev.if) {
+    prev.elseBlock = el
   } else if (process.env.NODE_ENV !== 'production') {
     warn(
-      `v-else used on element <${el.tag}> without corresponding v-if/v-show.`
+      `v-else used on element <${el.tag}> without corresponding v-if.`
     )
   }
 }