簡體   English   中英

我如何字符串相對路徑

[英]How do I string a relative path

我想創建一個鏈接,供用戶單擊以驗證其電子郵件。 為此,我需要創建鏈接。 如何將this.router轉換為字符串? 我還需要檢索用戶的用戶ID。 如果不可能,是否可以創建在相對路徑中傳遞的字符串?

我嘗試了這個:

let loginRoute = this.router.navigateByUrl("./login", {
      queryParams: { key: data.id }
});

但顯然它不起作用,因為.navigateByUrl返回一個布爾結果。

 constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.sub = this.route.params.subscribe(params => {
       this.id = +params['id'];
    });

這樣可以獲取查詢參數中的ID。

如果您想要域名,請執行以下操作-

const parsedUrl = new URL(window.location.href);
const baseUrl = parsedUrl.origin;
console.log(baseUrl);

使用DOCUMENTRouter來使URL字符串帶有Params。

platform-browser和路由器格式@ angular / router將文檔導入組件

import { DOCUMENT } from '@angular/platform-browser';

import { Router } from '@angular/router';

初始化構造函數

  constructor(
    private router: Router,
    @Inject(DOCUMENT) private document: any
  ) {}

使用以下網址

  ngOnInit() {
    let domain = this.document.location.hostname;
    this.href = this.router.url;
    console.log(domain+this.href)
  }

工作示例-Stackblitz代碼位於子組件一中


------------編輯后的評論-------------

使用DOCUMENT獲取該域的域名/主機名和concat參數。

import { DOCUMENT } from '@angular/platform-browser';
import {ActivatedRoute} from '@angular/router';
constructor(
        @Inject(DOCUMENT) private document: any,
        private route:ActivatedRoute

      ) {}

ngOnInit() {
        let domain = this.document.location.hostname;
        let userId = this.route.snapshot.params['userId'];
        console.log(domain+'?user='+userId)
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM