Angular 检查router.url是否包含特定字符串?
我有这个:Angular 检查router.url是否包含特定字符串?,angular,Angular,我有这个: if (this.router.url === '/test/sort') { this.active = 0; } 问题是,有时url将是test/sort?procesId=11,而不会输入if语句。有什么建议吗?如果您想要一些基本的功能: if (this.router.url.indexOf('/test/sort') > -1) { this.active = 0; } 您可以使用
if (this.router.url === '/test/sort') {
this.active = 0;
}
问题是,有时url将是
test/sort?procesId=11
,而不会输入if语句。有什么建议吗?如果您想要一些基本的功能:
if (this.router.url.indexOf('/test/sort') > -1) {
this.active = 0;
}
您可以使用LocationStrategy获取不带参数的url
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;
}
}
}
您还可以使用:
if (this.router.url.includes('/test/sort'))
{
this.active = 0;
}
方法
String.includes(searchString:String,position?:number):boolean
-如果searchString
显示为将此对象转换为字符串的结果的子字符串,则返回true
,位置大于或等于position;否则,返回false。为什么不复制你的问题标题并粘贴到谷歌上,然后阅读一些结果呢。这正是你想要的,我并不总是想要这个答案,因为你说这不是一个好答案,而且有更好的解决方案。。。