fix globals shadowing template scope (#3674)

pull/3697/head
Tan Li Hau 5 years ago committed by Conduitry
parent e4d7f77453
commit a778e50b35

@ -127,7 +127,7 @@ export default class Expression {
if (scope.has(name)) return;
if (globals.has(name) && !component.var_lookup.has(name)) return;
if (globals.has(name) && !(component.var_lookup.has(name) || template_scope.names.has(name))) return;
if (name[0] === '$' && template_scope.names.has(name.slice(1))) {
component.error(node, {
@ -261,7 +261,7 @@ export default class Expression {
const { name, nodes } = flatten_reference(node);
if (scope.has(name)) return;
if (globals.has(name) && !component.var_lookup.has(name)) return;
if (globals.has(name) && !(component.var_lookup.has(name) || template_scope.names.has(name))) return;
if (function_expression) {
if (template_scope.names.has(name)) {

@ -0,0 +1,3 @@
export default {
html: '<p>Alert1</p><p>Alert2</p>',
};

@ -0,0 +1,7 @@
<script>
const alerts = ['Alert1', 'Alert2'];
</script>
{#each alerts as alert}
<p>{alert}</p>
{/each}
Loading…
Cancel
Save