{"id":25312767,"url":"https://github.com/alanrva/blazornestedrouters","last_synced_at":"2025-04-07T12:41:00.182Z","repository":{"id":275860488,"uuid":"913040497","full_name":"AlanRVA/BlazorNestedRouters","owner":"AlanRVA","description":"Nested routers allow child routes within a parent route, so a child component can route independently of its parent, and without altering the browser URL. This provides a higher degree of code reusability, better organized code structure, and more efficient rendering in some cases.","archived":false,"fork":false,"pushed_at":"2025-02-04T23:52:48.000Z","size":1528,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-13T15:22:59.402Z","etag":null,"topics":["blazor","blazor-server"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlanRVA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-06T23:01:54.000Z","updated_at":"2025-02-04T23:52:51.000Z","dependencies_parsed_at":"2025-02-05T00:37:04.450Z","dependency_job_id":null,"html_url":"https://github.com/AlanRVA/BlazorNestedRouters","commit_stats":null,"previous_names":["alanrva/blazornestedrouters"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRVA%2FBlazorNestedRouters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRVA%2FBlazorNestedRouters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRVA%2FBlazorNestedRouters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlanRVA%2FBlazorNestedRouters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlanRVA","download_url":"https://codeload.github.com/AlanRVA/BlazorNestedRouters/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247655028,"owners_count":20974113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blazor","blazor-server"],"created_at":"2025-02-13T15:21:18.079Z","updated_at":"2025-04-07T12:41:00.155Z","avatar_url":"https://github.com/AlanRVA.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿![Demo animation](./readme_screencap.gif)\n\n# Blazor Nested Routers\n\n\u003cbr/\u003e\n\nNested routers allow you to define child routes within a parent route, so that a child component can route independently of its parent and without altering the browser URL.\n\nThis provides a higher degree of code reusability, better organized code structure, and more efficient rendering in some cases.\n\nBlazor has no native support for nested routers like React, Vue, Svelte, and other front-end web frameworks, so I created a proof of concept for adding this functionality.\n\n## Example Project\n\nThe example project is based off the default Blazor Web App project template and reuses the existing pages to show how they can be made to work as in-page nested routers or in a modal dialog control.\n\n## Usage\n\nSimply run the project and click on either the *Nested Dialog* or *Nested In-Page* side menu links to see each example.\n\n## Components\n\nNestedRouter\\*NestedContainer.razor*: This is a parent container for the nested router, allowing you to wrap the router with navigation and logic to control the route of the nested router. This component can be added to a page for in-page/in-line use, or added to something like a modal dialog control.\n\nNestedRouter\\*NestedRouter.razor*: This is the nested router and handles the rendering of child components/pages when any navigation occurs inside the nested router. This keeps routing state local to the nested router and doesn't affect the top level router (or change the browser's URL).\n\nNestedRouter\\*NotFoundComponent*: Optional component to be shown if the nested router is asked to navigate to a component/page it can't find.\n\n## Notes\n\nThis has been tested with .net 8 and 9 with Blazor Server only.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanrva%2Fblazornestedrouters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falanrva%2Fblazornestedrouters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falanrva%2Fblazornestedrouters/lists"}