如果路由等于某个值Angular 5,则更改属性

时间:2018-04-13 08:31:05

标签: javascript angular typescript angular5

如果url与verticalNavType完全相等,我需要更改'/admin'属性的值。

我尝试这样的事情

constructor(
private router: Router
) {
if (this.router.url === '/admin') {
    this.verticalNavType = 'offcanvas';
}   
}

但它改变了值甚至路由器等于例如'/admin/company_profile'。 如何仅为'/admin'更改值?

2 个答案:

答案 0 :(得分:0)

尝试使用javascript substring method

if (this.router.url.substring(this.router.url.length - 6, this.router.url.length) === '/admin') {
    this.verticalNavType = 'offcanvas';
}

这将匹配您的网址字符串的最后6个字符。

答案 1 :(得分:-1)

也许试试这个正则表达式:

if(/^\/admin$/.test(this.router.url)) {
    this.verticalNavType = 'offcanvas';
}

^$表示" strict"字符串的开头和结尾。