Closed t2ym closed 5 years ago
[discard-on-disconnect] Add a handy way to enable discard-on-disconnect
discard-on-disconnect
disposable
hasAttribute()
// i18n.js export const disposable = (base) => class DisposableElement extends base { hasAttribute(name) { return name === 'discard-on-disconnect' ? true : super.hasAttribute(name); } }
discardOnDisconnect
// i18n.js ... if (this.hasAttribute('discard-on-disconnect') || this.discardOnDisconnect) ... // my-element.js class MyElement extends i18n(HTMLElement) { get discardOnDisconnect() { return true; } .. } // my-element2.js class MyElement2 extends i18n(HTMLElement) { constructor() { super(); this.discardOnDisconnect = true; } .. }
this.discardOnDisconnect = true; this.disconnectedCallback();
discard-on-disconnect has been deprecated with Issue #89
[discard-on-disconnect] Add a handy way to enable
discard-on-disconnect
Implementation Plans
Plan # 1 -
disposable
mixin to overridehasAttribute()
Plan # 2 - Add
discardOnDisconnect
propertyImperative Disposal