PolymerElements / app-route

A modular client-side router
https://www.polymer-project.org/1.0/articles/routing.html
146 stars 66 forks source link

Fix: query parameters are getting removed #211

Closed admwx7 closed 6 years ago

admwx7 commented 6 years ago

Turns out that when you have two elements both setting defaults the one that comes later in the DOM is the one that wins out, in this case iron-query-params comes later and sets defaults that then cause the queryParams to get set to an empty string and updates iron-location to remove params from the URL.

This isn't a proper solution to the problem, but I couldn't figure out a non-breaking way to handle it in iron-location, this at leasts allows users to start using queryParams in their apps again...tried to test but turns out the way the test environment handles flushing makes this a case I couldn't trigger.

Addresses: https://github.com/PolymerElements/iron-location/pull/83 https://github.com/PolymerElements/iron-location/pull/86

e111077 commented 6 years ago

This solves the issue in app-route. Thanks for the workaround

ernsheong commented 6 years ago

Thanks for this.

My 2 cents would be that observers should not be triggered for default values, but that might be too big of a breaking change. Maybe Polymer 3.0 gives an opportunity to rethink some of this...