Estoy creando un enrutador personalizado donde quiero hacer coincidir el nombre de la ruta con un componente web específico.
public Router = new Router([ new Route('/dev/', 'my-element'), new Route('/dev/other', 'other-view') ], "#application_page"); Podría haber otros nombres de página como /dev/page/1 , por lo que debo asegurarme de que sea lo más sólido posible.
Mi primer enfoque es demasiado básico:
const pathname = window.location.pathname; console.log(pathname); for (let i = 0; i < this.routes.length; i++) { if (pathname.indexOf(this.routes[i].url) >= 0) { console.log(this.routes[i].url); const el = renderRoot.querySelector(this.containerId); if (el != null) { el.appendChild(this.routes[i].component); return; } } }¿Cuál es la mejor manera de encontrar la ruta correcta?