# Routes and custom components

**URL:** https://discourse.nodered.org/t/routes-and-custom-components/80401
**Category:** General
**Tags:** uibuilder
**Created:** [8 August 2023 07:49 UTC](https://discourse.nodered.org/t/routes-and-custom-components/80401 "2023-08-08T07:49:22Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![fmarzocca](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/fmarzocca/32/35901_2.png) [@fmarzocca](https://discourse.nodered.org/u/fmarzocca)
#### Post date: [8 August 2023 07:49 UTC](https://discourse.nodered.org/t/routes-and-custom-components/80401/1 "2023-08-08T07:49:22Z")

</div>

A couple of the main reasons I'm using vue3 in my `uilbuilder` dashboard is the `router` mechanism (I'm assigning a route page for every menu entry) and the capability to create custom components.

How would you handle this in new `uibuilder` framework?

Fabio

---

<div class="post-metadata">

### Author: ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)
#### Post date: [8 August 2023 17:24 UTC](https://discourse.nodered.org/t/routes-and-custom-components/80401/2 "2023-08-08T17:24:17Z")

</div>

That is an excellent question. I believe that there are native router libraries but I've never managed to find time to play with them.

Certainly there are low-level ways to interrupt URL changes (obviously because even the frameworks have to handle that at a browser level at some point). I don't as yet have anything specific in the uibuilder client library to handle such things in the client side. I seem to remember it is in the roadmap but quite a long way down the list. 🙂

You could also bypass the issue by not using a routing based solution but instead use some other data point to swap visible elements (which is all a client router is doing anyway). Not seriously suggesting that but it is an option.

If you are happy to live with URL hash parameters, it is actually quite easy to roll your own solution I think. Since changing anything after the `#` in the URL does not trigger a page load.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [7 October 2023 17:24 UTC](https://discourse.nodered.org/t/routes-and-custom-components/80401/3 "2023-10-07T17:24:38Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
