Open markcellus opened 6 years ago
Hello, thanks for building this awesome package!
I am having an issue using the selected-attribute option with pages that extend LitElement using Polymer 3. Here I have created a test-page custom element that should have observers fire when active property is set, however it does not work.
selected-attribute
test-page
active
<iron-pages selected="test" attr-for-selected="name" selected-attribute="active" > <test-page name="test"></test-page> </iron-pages>
import {html, LitElement} from '@polymer/lit-element/lit-element.js'; export class TestPage extends LitElement { static get properties() { return { active: String } } _render() { // according to LitElement, this render method gets called everytime `active` changes console.log(this.active) // but prints undefined :( return html`<div>Test page</div>`; } } customElements.define('test-page', TestPage);
It appears that the toggleAttribute() is being called from Polymer's legacy-element-mixin . I suspect that this is an issue because it is not updating the lit element's observer on the active property.
toggleAttribute()
The observers on active property to fire and active property is truthy.
active property doesn't seem to ever get set and no observers are fired so the element can re-render.
I've tested and only confirmed that this does not work on Chrome and Firefox, but I suspect it doesn't work on any other browsers.
Hello, thanks for building this awesome package!
Description
I am having an issue using the
selected-attribute
option with pages that extend LitElement using Polymer 3. Here I have created atest-page
custom element that should have observers fire whenactive
property is set, however it does not work.It appears that the
toggleAttribute()
is being called from Polymer's legacy-element-mixin . I suspect that this is an issue because it is not updating the lit element's observer on theactive
property.Expected outcome
The observers on
active
property to fire andactive
property is truthy.Actual outcome
active
property doesn't seem to ever get set and no observers are fired so the element can re-render.Browsers Affected
I've tested and only confirmed that this does not work on Chrome and Firefox, but I suspect it doesn't work on any other browsers.