检查router.url是否包含特定的字符串?

时间:2017-08-29 08:32:02

标签: angular

我有这个:

   if (this.router.url === '/test/sort') {

                    this.active = 0;
                }

问题是,有时url将是test/sort?procesId=11,而不会输入if语句。任何建议我怎么能这样做?

4 个答案:

答案 0 :(得分:13)

有更好/更清洁的解决方案,但如果你想要一些基本的工作:

X <- cbind("A"=rnorm(100, 50), "B"=rnorm(100, 600, 50))
model <- VAR(X, p=1, type = "const", ic = c("AIC", "HQ", "SC", "FPE"))
stargazer::stargazer(model$varresult$A, model$varresult$B)

答案 1 :(得分:4)

您还可以使用:

if (this.router.url.includes('/test/sort')) 
{  
     this.active = 0; 
}

Method String.includes(searchString:string,position ?: number):布尔值-如果searchString作为将此对象转换为String的结果的子字符串出现在一个或多个大于或等于的位置,则返回true定位否则,返回false。

答案 2 :(得分:1)

您可以使用LocationStrategy获取不带参数的网址。

import {LocationStrategy} from '@angular/common';


export class AppComponent implements OnInit {

    constructor(private url:LocationStrategy) { }

    ngOnInit() {

        console.log(this.url.path());
        if(this.url.path()==='/test/sort'){

         this.active=0; 
         }

    }

}

答案 3 :(得分:0)

您也可以使用window.location.url

if (window.location.href.indexOf('/main/item-details') > -1) {
  // code 
}