使用Angular HTML中的主机名访问当前URL

时间:2018-08-28 06:57:16

标签: angular typescript

如何使用Angular访问模板中的当前URL。

我尝试过

  <li><a href="../../profile?returnUrl="+router.url>Profile</a></li>

但是它抛出一个错误,

无法在“元素”上执行“ setAttribute”:“ + router.url”不是有效的属性名称。

3 个答案:

答案 0 :(得分:0)

如果您的网址在“ .routing”文件中是这样的:/ profile /:returnUrl

您可以使用这种方式代替[href]:[routerLink] =“ ['/ profile',router.url]”

答案 1 :(得分:0)

Vanilla JavaScript:

// Get current url
var url = window.location.href;

// Parse url
var splitUrl   = url.split('/');

// Get page name
var page = splitUrl[splitUrl.length - 1];

获取页面名称后,可以将此page变量设置为Angular或其他形式的元素。

在jQuery中:

$('li>a').attr('href', page);

在Angular中:

var elem = angular.element(document.querySelector('li>a'));
elem.attr('href','../../profile?returnUrl=' + page);

答案 2 :(得分:0)

您可以尝试使用{{router?.url}}

<li><a href="../../profile?returnUrl={{router?.url}}">Profile</a></li>