[英]Angular 6 - When testing file download with Protractor, how do I set a relative path for the file's destination
[英]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);
使用DOCUMENT
和Router
來使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.