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

handle attribute interpolation

Evan You 10 лет назад
Родитель
Сommit
cbbe65f3ae
2 измененных файлов с 4 добавлено и 3 удалено
  1. 1 1
      src/compiler/codegen/index.js
  2. 3 2
      src/compiler/parser/index.js

+ 1 - 1
src/compiler/codegen/index.js

@@ -76,7 +76,7 @@ function genData (el) {
   }
   // class
   if (el.staticClass) {
-    data += `staticClass:"${el.staticClass}",`
+    data += `staticClass:${el.staticClass},`
   }
   if (el.classBinding) {
     data += `class:${el.classBinding},`

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

@@ -218,7 +218,8 @@ function processSlot (el) {
 }
 
 function processClassBinding (el) {
-  el.staticClass = getAndRemoveAttr(el, 'class')
+  const staticClass = getAndRemoveAttr(el, 'class')
+  el.staticClass = parseText(staticClass) || JSON.stringify(staticClass)
   el.classBinding =
     getAndRemoveAttr(el, ':class') ||
     getAndRemoveAttr(el, 'v-bind:class')
@@ -269,7 +270,7 @@ function processAttributes (el) {
       // literal attribute
       (el.attrs || (el.attrs = [])).push({
         name,
-        value: JSON.stringify(value)
+        value: parseText(value) || JSON.stringify(value)
       })
     }
   }