Utilize the URL path entered by a user to navigate through the page

I'm exploring Angular 6 to develop my app and I need a feature that can grab whatever the user is typing into the address bar on the website.

For instance:

If a user types in the domain "myproject.example/5/cool",

the site should display "User 5 is soo cool!"

Is it possible to access the URL input from the user?

Thank you for your help!

Answer №1

Absolutely, it is completely feasible to access the URL displayed in the address bar. There are two methods to accomplish this: utilizing the ActivatedRoute and using the Router.

ActivatedRoute

The ActivatedRoute necessitates an entry in the app-routing.module.ts defining the components you wish to exhibit:

{ path: ':customerId/:state', component: YourComponent }

In your component file :

 constructor(private route: ActivatedRoute) {
      this.route.paramMap.subscribe(params => {
        this.customerId = params.get('customerId');
        this.state = params.get('state');
    });
  }

You can then construct your output based on the customerId and state parameters.

Router

If you opt not to utilize routing (or if you face restrictions), you can alternatively use the Router to access the URL. Simply parse it as follows:

 constructor(private router: Router) {
      this.href = this.router.url;
 }

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Sending a message through Discord.JS to a designated channel

Recently diving into Discord.JS, I am struggling to understand how to make my bot send a message to the General Chat when a new user joins. Many examples I've come across suggest using the following code: const channel = client.channels.cache.find(ch ...

When Typescript calls the toString method on a Function, it produces unexpected characters like "path_1, (0, promises.writeFile)"

I'm currently attempting to convert a function into a string for transmission to a worker thread for execution. However, when imported code is included, the resulting string contains strange characters. import { HttpStatus } from '@nestjs/common& ...

Tips for including a decimal point in an angular reactive form control when the initial value is 1 or higher

I am trying to input a decimal number with 1 and one zero like 1.0 <input type="number" formControlName="global_velocity_weight" /> this.form = this.fb.group({ global_velocity_weight: new FormControl(1.0, { validators: [Valida ...

Display a custom error message containing a string in an Angular error alert

How can I extract a specific string from an error message? I'm trying to retrieve the phrase "Bad Request" from this particular error message "400 - Bad Request URL: put: Message: Http failure response for : 400 Bad Request Details: "Bad Request ...

Attempting to update Typescript on Linux Mint using npm

I am currently using typescript 2.1.4 and npm version 6.7.0. Realizing that 2.1.4 is quite outdated, I decided to try and update it. Here are the steps I took, which unfortunately did not work: $ sudo npm update -g typescript $ tsc --version Vesion 2.1. ...

Angular 2 form with ng2-bootstrap modal component reset functionality

I have implemented ng2-bs3-modal in my Angular 2 application. I am now looking for a way to clear all form fields when the close button is clicked. Can anyone suggest the best and easiest way to achieve this? html <button type="button" class="btn-u ...

Does a <Navigate> exist in the react-router-dom library?

Within the parent component import LoginPage from "pages/admin"; export function Home() { return <LoginPage />; } Inside the child component import { useRouter } from "next/router"; export default function LoginPage() { co ...

Guide on encoding base64 within an Azure DevOps Pipelines extension

I'm in the process of creating an Azure Pipelines extension using Typescript and referring to Microsoft's documentation During my development, I encountered an issue when trying to base64 encode a string using the btoa() function which resulted ...

Alert: TypeScript Linter Warning

When I execute the npm lint command in Circle CI, a warning message is displayed. The following rules specified in the configuration could not be found: templates-use-public no-access-missing-member invoke-injectable template-to-ng-templa ...

The data is not being displayed in the table

I am encountering an issue while attempting to populate the table with data received through props by looping over it. Unfortunately, the data is not rendering on the UI :( However, when I manually input data, it does show up. Below is my code: Code for P ...

Always deemed non-assignable but still recognized as a universal type?

I'm curious about why the never type is allowed as input in generic's extended types. For example: type Pluralize<A extends string> = `${A}s` type Working = Pluralize<'language'> // 'languages' -> Works as e ...

The tooltip is obscured by the table row

I'm having trouble with a simple CSS fix and can't seem to figure out why. The z-index and overflow visibility properties are not working as expected. I just need 'In Progress' to be displayed above everything else. Some things I' ...

Activating `routerLinkActive` for multiple components

When working with Angular 2+, I have a navbar set up within an 'Articles' feature module like this: <li> <a routerLinkActive="active" routerLink="current">Current</a> </li> <li> <a router ...

NPM is encountering difficulties resolving the dependency tree

This query has already been asked before. I have attempted to execute various commands like npm i, npm install, npm update and more on this project that I pulled from a private git repository. Unfortunately, none of them seem to work. I even tried deleting ...

Angular 2 Component attribute masking

In my Angular 2 component called Foobar, I have defined a property named foobar: import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-foobar', templateUrl: './foobar.component ...

Import components exclusively from the root/app directory in Angular 2

In my angular2 project, I used angular-cli version 1.0.0-beta.8 and angular version 2.0.0-rc.3. After running ng new or ng init, the directory structure created is as follows: create .editorconfig create README.md create src\app\app.compon ...

What is the best way to duplicate a Typescript class object while making changes to specific properties?

I have a Typescript cat class: class Kitty { constructor( public name: string, public age: number, public color: string ) {} } const mittens = new Kitty('Mittens', 5, 'gray') Now I want to create a clone of the inst ...

`How can we efficiently transfer style props to child components?`

Is there a way to pass Props in the Style so that each component has a unique background image? Take a look at this component: countries.astro --- import type { Props } from 'astro'; const { country, description } = Astro.props as Props; --- & ...

Pile of automatically generated elements

Within our application, a dynamic panel has been implemented to load various forms. The panel service is responsible for receiving information about which form to load, and the panel component then handles the creation and loading of the specific form usin ...

What are the drawbacks of removing comments from polyfills.ts in Angular CLI when using Internet Explorer?

Encountering a similar problem as described in Angular4 Application running issues in IE11. Although the suggested solution resolved the issue, I am left wondering why the lines referring to necessary polyfills for IE9, IE10, and IE11 were initially comm ...