stencil-router icon indicating copy to clipboard operation
stencil-router copied to clipboard

include url for default routes within match

Open alexanderknapstein opened this issue 6 years ago • 5 comments

Dear @jthoms1 ,

we make heavily use of the route-switch but not only for not-found-pages, but for dynamic loaded content without assigning every route to a specific component. So in our case it would be helfpul to include the current "match" within the match object.

example:

<stencil-router>
    <stencil-route-switch>
        <stencil-route url='/home' component='il-home' title='home'></stencil-route>
        <stencil-route component='site-loader' title='site'></stencil-route>
    </stencil-route-switch>
</stencil-router>

the match result (@Prop() match: MatchResults;) for all default routes (e.g. /some/url) looks like this:

{path: "/", url: "/", isExact: true, params: {…}}

which is not helpful in a fallback case to load any dynamic data. With my suggestion the match result will contain the current url, which can be consumed within the route component:

{path: "/some/url", url: "/some/url", isExact: true, params: {…}}

Would be cool, if you could merge that. Thanx /Alex

alexanderknapstein avatar Feb 26 '19 11:02 alexanderknapstein

Any chance of merging this?

alexanderknapstein avatar Mar 08 '19 10:03 alexanderknapstein

until merge it's available as @inspirationlabs/router

DominicBoettger avatar Apr 15 '19 15:04 DominicBoettger

Can you elaborate a bit more on the use case? Does it deal with nested / child routes requiring to be setup with full absolute paths? I have the use case that I dynamically build nested child routes and would love the created children to „inherit“ their route from the parent.

bitflower avatar May 20 '19 09:05 bitflower

added compat to stencil one

DominicBoettger avatar Jun 07 '19 13:06 DominicBoettger

@bitflower It's not adding such a feature. It makes it just easier to get the current match when using pages which are from top to bottom dynamic. In our case they are driven by a CMS backend and there is no real routing logic except a default match rule in stencil and we validate against the backend as soon as the current route changes and load the data from the backend.

DominicBoettger avatar Jun 07 '19 13:06 DominicBoettger