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

fix: do not use lookbehind regex yet

Evan You 6 лет назад
Родитель
Сommit
2e3a1ff3c3

+ 1 - 1
packages/compiler-core/__tests__/transforms/vFor.spec.ts

@@ -259,7 +259,7 @@ describe('compiler: transform v-for', () => {
     })
 
     test('de-structured value', () => {
-      const source = '<span v-for="(  { id, key })in items" />'
+      const source = '<span v-for="(  { id, key }) in items" />'
       const forNode = parseWithForTransform(source)
 
       const valueIndex = source.indexOf('{ id, key }')

+ 4 - 4
packages/compiler-core/src/transforms/vFor.ts

@@ -13,10 +13,6 @@ import { getInnerRange } from '../utils'
 import { RENDER_LIST } from '../runtimeConstants'
 import { processExpression } from './transformExpression'
 
-const forAliasRE = /([\s\S]*?)(?:(?<=\))|\s+)(?:in|of)\s+([\s\S]*)/
-const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/
-const stripParensRE = /^\(|\)$/g
-
 export const transformFor = createStructuralDirectiveTransform(
   'for',
   (node, dir, context) => {
@@ -64,6 +60,10 @@ export const transformFor = createStructuralDirectiveTransform(
   }
 )
 
+const forAliasRE = /([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/
+const forIteratorRE = /,([^,\}\]]*)(?:,([^,\}\]]*))?$/
+const stripParensRE = /^\(|\)$/g
+
 interface ForParseResult {
   source: ExpressionNode
   value: ExpressionNode | undefined