だから、私はホームページにいて何かをしていて、他のページではそれをしていないかどうかを何らかの形で確認する必要があります。また、そのコンポーネントはすべてのページにインポートされました。
ホームページにいる場合、どのようにしてそのコンポーネントを検出できますか?
ありがとう
これを試して、
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.
}
}
それを試してみてください
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
}
});
}
}
ネイティブウィンドウオブジェクトからこれらのいずれかを試してください。
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);
注:サーバー側のレンダリングでこれを使用しないでください
Angular Location Serviceを使用できます。
import { Location } from '@angular/common';
以下を使用してパスにアクセスできます。
location.path();
この質問に答えようとしていましたが、BigBrotherでも同じ答えがあります。この回答は、一部のルーターロケーションコードで「/」のみを返すため、URLで「#」を使用するユーザー向けです。
これは私のプロジェクトの1つのサンプルコードです。
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);
}
}
});
そのため、現在のルートが「/ admin」でない場合にのみポップアップが表示されます
完全なURLが必要な場合は、次のようにLOCATIONインスタンスを使用します。
([Location][1])location.href = https://test-mydomain.com/#/securelogin?name=batman
&相対URLが必要な場合は、ROUTERインスタンスを使用します:-
this.router.url = securelogin?name=batman
angular 4:-に基づいて、次のように完全なスニペットに従ってください。
constructor( private router: Router) {
console.log(this.router.url);
/**
* securelogin?name=batman
*/
console.log(location.href);
/**
* https://test-mydomain.com/#/securelogin?name=batman
*/
}