angular-* ng如果条件是基于url参数

时间:2018-08-15 12:34:10

标签: angular typescript angular-template

只有在网址中添加了某些queryParams时,才能显示元素吗?

例如

ngOnInit() {
    this.route.queryParams.subscribe(params => {
        console.log(params);
    });
}

我想做类似的事情:

<div *ngIf="queryParams = 'query_name'"></div>

2 个答案:

答案 0 :(得分:1)

您需要将特定的查询参数分配给一个属性,然后在条件*ngIf中使用该属性。

queryParam;

ngOnInit() {
    this.route.queryParams.subscribe(params => {
        this.queryParam = params['yourParamName'];
    });
}

在标记中

<div *ngIf="queryParam == 'yourCondition'"></div>

答案 1 :(得分:0)

.ts文件

private queryParams:string ='';

ngOnInit() {
    this.route.queryParams.subscribe(params => {
        this.queryParams= params['PARAMETER_NAME'];

    });
}

**对于“ PARAMETER_NAME”,您可以提及查询参数的名称。 例如,如果route为“ / userId”

this.queryParams= params['userId'];

.html文件中

<div *ngIf="queryParams.toLowerCase() === 'QUERY_NAME'.toLowerCase()"></div>

**对于“ QUERY_NAME”,您可以提及预期的查询参数字符串。 例如,如果预期的字符串是“ userName”

 <div *ngIf="queryParams.toLowerCase() === 'userName'.toLowerCase()"></div>