diff --git a/src/parse/read/expression.js b/src/parse/read/expression.js index 7aa34b9bdc..384e56fd91 100644 --- a/src/parse/read/expression.js +++ b/src/parse/read/expression.js @@ -34,7 +34,7 @@ export default function readExpression ( parser ) { parser.index = start; try { - const node = parseExpressionAt( parser.template, parser.index ); + const node = parseExpressionAt( parser.template, parser.index, { preserveParens: true } ); parser.index = node.end; return node; diff --git a/test/runtime/samples/paren-wrapped-expressions/_config.js b/test/runtime/samples/paren-wrapped-expressions/_config.js new file mode 100644 index 0000000000..4b784625ce --- /dev/null +++ b/test/runtime/samples/paren-wrapped-expressions/_config.js @@ -0,0 +1,16 @@ +export default { + data: { + a: 'foo', + b: true, + c: [ 1, 2, 3 ], + }, + + html: ` + foo + + true + 1 + 2 + 3 + ` +}; diff --git a/test/runtime/samples/paren-wrapped-expressions/main.html b/test/runtime/samples/paren-wrapped-expressions/main.html new file mode 100644 index 0000000000..ec4b4152c4 --- /dev/null +++ b/test/runtime/samples/paren-wrapped-expressions/main.html @@ -0,0 +1,8 @@ +{{ (a) }} + +{{#if (b) }} + true +{{/if}} +{{#each (c) as x}} + {{x}} +{{/each}}