PolymerElements / app-route

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

Resolve nested url can't change #225

Closed SergeShkurko closed 6 years ago

SergeShkurko commented 6 years ago

Added default path ("/"). It resolve problem with subroute data change (#224 )

Before "Nested component" inactive, already - active

For example: url: 'localhost:8080/foo'

Before:

First component:
<app-location route="{{route}}"></app-location>
<app-route route="{{route}}" pattern="/:page" tail="{{subroute}}"></app-route>

Nested component:
<app-route route="{{subroute}}" pattern="/:subpage"></app-route>
// Route:
{
  prefix: '',
  path: '/foo'
}

// Tail
{
  prefix: '/foo',
  path: '' // default path == '' & subroute not active 😿
}

After

First component:
<app-location route="{{route}}"></app-location>
<app-route route="{{route}}" pattern="/:page" tail="{{subroute}}"></app-route>

Nested component (Added flag "auto-activate"):
<app-route auto-activate route="{{subroute}}" pattern="/:subpage"></app-route>
// Route:
{
  prefix: '',
  path: '/foo'
}

// Tail
{
  prefix: '/foo',
  path: '/' // default path == '/' & subroute active
}
googlebot commented 6 years ago

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

:memo: Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers
SergeShkurko commented 6 years ago

I signed it!

googlebot commented 6 years ago

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again. If the bot doesn't comment, it means it doesn't think anything has changed.

googlebot commented 6 years ago

CLAs look good, thanks!

e111077 commented 6 years ago

This is a simple solution to a common problem, but the issue is that this is a breaking change. would it be possible to put this behind a flag and also write a test for it?

SergeShkurko commented 6 years ago

@e111077 Change is not critical. Tests added

SergeShkurko commented 6 years ago

@e111077 edits made

SergeShkurko commented 6 years ago

@e111077 Fixed

e111077 commented 6 years ago

Very well done, thanks for the PR