diff --git a/src/dom_components/model/Component.js b/src/dom_components/model/Component.js index 2b972b6c4..3961408f6 100644 --- a/src/dom_components/model/Component.js +++ b/src/dom_components/model/Component.js @@ -481,7 +481,7 @@ export default class Component extends StyleableModel { addAttributes(attrs, opts = {}) { return this.setAttributes( { - ...this.getAttributes({ noClass: 1 }), + ...this.getAttributes({ noClass: true }), ...attrs, }, opts @@ -568,7 +568,9 @@ export default class Component extends StyleableModel { const id = this.getId(); // Add classes - if (!opts.noClass) { + if (opts.noClass) { + delete attributes.class; + } else { this.get('classes').forEach(cls => classes.push(isString(cls) ? cls : cls.get('name'))); classes.length && (attributes.class = classes.join(' ')); } diff --git a/src/trait_manager/model/Trait.js b/src/trait_manager/model/Trait.js index bfd3c7dce..737a50ea0 100644 --- a/src/trait_manager/model/Trait.js +++ b/src/trait_manager/model/Trait.js @@ -133,9 +133,7 @@ export default class Trait extends Model { if (this.get('changeProp')) { target.set(name, valueToSet, opts); } else { - const attrs = { ...target.get('attributes') }; - attrs[name] = valueToSet; - target.set('attributes', attrs, opts); + target.addAttributes({ [name]: valueToSet }, opts); } }