Il faut donc que je vérifie si je suis sur la page d'accueil et que je fais quelque chose et que dans d'autres pages, ne le faites pas. Aussi ce composant importé sur toutes les pages.
Comment puis-je détecter sur ce composant si je suis sur la page d'accueil ???
Merci
Essaye ça,
import { Router } from '@angular/router';
export class MyComponent implements OnInit {
constructor(private router:Router) { ... }
ngOnInit() {
let currentUrl = this.router.url; /// this will give you current url
// your logic to know if its my home page.
}
}
L'essayer
import { Component } from '@angular/core';
import { Router, NavigationEnd } from '@angular/router';
@Component({...})
export class MyComponent {
constructor(private router:Router) {
router.events.subscribe(event => {
if (event instanceof NavigationEnd ) {
console.log("current url",event.url); // event.url has current url
// your code will goes here
}
});
}
}
Essayez l'une de celles-ci à partir de l'objet window natif.
console.log('URL:' + window.location.href);
console.log('Path:' + window.location.pathname);
console.log('Host:' + window.location.Host);
console.log('Hostname:' + window.location.hostname);
console.log('Origin:' + window.location.Origin);
console.log('Port:' + window.location.port);
console.log('Search String:' + window.location.search);
J'étais sur le point de répondre à cette question mais j'ai la même réponse avec BigBrother. Cette réponse s'adresse à ceux qui utilisent "#" sur leur URL car ils ne renvoient que "/" sur un code d'emplacement de routeur.
Voici un exemple de code d'un de mes projets:
this.router.events.subscribe((event) => {
if(event instanceof NavigationEnd) {
this.currentPage = event.url;
if ( event.url != '/admin') {
setTimeout(()=>{
this.modalRef = this.modalService.show(ModalSurveyComponent,this.config);
}, 3000);
}
}
});
Donc Pop up ne montrera que si le chemin actuel n'est pas "/ admin"
Si vous voulez l'URL complète, utilisez l'instance LOCATION comme suit: -
([Location][1])location.href = https://test-mydomain.com/#/securelogin?name=batman
& si vous voulez une URL relative, utilisez l’instance ROUTER suivante: -
this.router.url = securelogin?name=batman
Suivez l'extrait complet comme suit, en vous basant sur l'angle 4: -
constructor( private router: Router) {
console.log(this.router.url);
/**
* securelogin?name=batman
*/
console.log(location.href);
/**
* https://test-mydomain.com/#/securelogin?name=batman
*/
}
Vous pouvez utiliser le service de localisation angulaire.
import { Location } from '@angular/common';
Vous pouvez accéder au chemin en utilisant:
location.path();