Comments (2)
I have the same problem and I have been able to fix it by making a quick fix in parseSegmentValue function in the localize-router.service.ts file.
The culprit is the condition else if (snapshot.routeConfig.data)
. When the route has a data
key, snapshot.routeConfig.data
returns both the object with the localizeRouter
and the data
key content.
To avoid this, I add a condition to check if there is a localizeRouter
in the data (else if (snapshot.routeConfig.data && snapshot.routeConfig.data.localizeRouter)
Here is the whole method. Please check my fork for the fix : https://github.com/cariboufute/localize-router
// src/localize-router.service.ts
// ...
/**
* Extracts new segment value based on routeConfig and url
* @param snapshot
* @returns {string}
*/
private parseSegmentValue(snapshot: ActivatedRouteSnapshot): string {
if (snapshot.routeConfig) {
if (snapshot.routeConfig.path === '**') {
return this.parser.translateRoute(snapshot.url
.filter((segment: UrlSegment) => segment.path)
.map((segment: UrlSegment) => segment.path)
.join('/'));
} else if (snapshot.routeConfig.data && snapshot.routeConfig.data.localizeRouter) {
const subPathSegments = snapshot.routeConfig.data.localizeRouter.path.split('/');
return subPathSegments
.map((s: string, i: number) => s.indexOf(':') === 0 ?
snapshot.url[i].path :
this.parser.translateRoute(s))
.join('/');
}
}
return '';
}
from localize-router.
Same issue here, I temporarily removed the data.
I just tested with data: { skipRouteLocalization: true }, it causes the same issue.
from localize-router.
Related Issues (20)
- localize-router not working as expected with Angular Universal: server-side rendering HOT 6
- Function traverseSnapshot not properly assembling the new translated route. HOT 11
- Out of sync localize pipe HOT 1
- changeLanguage does not work for route with parameters HOT 6
- After language is switch, back button redirect into 404
- InitialNavigation enabled crashes Routing HOT 7
- Lazy loaded component is not bootstrapping HOT 4
- can't trigger window.load
- Angular 8 + IVy support HOT 1
- Can't make it, need tutorial. HOT 1
- Angular recognize only the default lang in SSR. HOT 4
- Angular 8 support HOT 6
- Extra slash translating root route
- LazyLoad Child Componenter onPage Refresh re-directs:Home Page HOT 1
- Unhandled promise rejection HOT 6
- Custom Cookies expiration
- Children routes issue lazy load module HOT 5
- Problem with Initial Navigation in RouterModule HOT 4
- LocalizeRouterModule.forRoot returns a ModuleWithProviders type without a generic type argument HOT 20
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from localize-router.