From 0d9339ffdbfa78a5a1025971d96b4e19d0aa845d Mon Sep 17 00:00:00 2001 From: Conduitry Date: Sat, 5 Jan 2019 12:22:19 -0500 Subject: [PATCH] better handling of bare attribute names in DOM mode (#1852) - compile unknown bare attribute names to setting the attribute to "" - correctly stringify as bare attribute name in .innerHTML'd markup --- src/compile/render-dom/wrappers/Element/Attribute.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/compile/render-dom/wrappers/Element/Attribute.ts b/src/compile/render-dom/wrappers/Element/Attribute.ts index 769eeb8d53..bec0fa35a4 100644 --- a/src/compile/render-dom/wrappers/Element/Attribute.ts +++ b/src/compile/render-dom/wrappers/Element/Attribute.ts @@ -187,7 +187,7 @@ export default class AttributeWrapper { ? `${element.var}.${propertyName} = ${value};` : isDataSet ? `${element.var}.dataset.${camelCaseName} = ${value};` - : `${method}(${element.var}, "${name}", ${value});` + : `${method}(${element.var}, "${name}", ${value === true ? '""' : value});` ); block.builders.hydrate.addLine(statement); @@ -207,9 +207,9 @@ export default class AttributeWrapper { } stringify() { - const value = this.node.chunks; + if (this.node.isTrue) return ''; - if (value === true) return ''; + const value = this.node.chunks; if (value.length === 0) return `=""`; return `="${value.map(chunk => {