如何在Angular中最佳地动态显示/隐藏字符串段?

时间:2019-09-06 16:40:59

标签: html angular angular-ng-if

我正在构建一个模板,模板中可能有也可能没有值;例如,我需要基于来自JSON响应的多个字段构建URL字符串。

<a class="url">{{ ad.domain }}/{{ ad.path1 }}/{{ ad.path2 }}...</a>

但是我正在考虑如果字符串的某些部分为空,该如何处理?例如没有path2的值。

我可以在锚标记中使用带有ng-container*ngIf指令的<a class="url">{{ ad.domain }}<ng-container *ngIf="ad.path1 !== ''">/{{ ad.path1 }}</ng-container><ng-container *ngIf="ad.path2 !== ''">/{{ ad.path2 }}</ng-container>...</a> ,但最终看起来确实很凌乱和

library(bigrquery)
library(tidyverse)

proyect <- "api-project-456789012345"   ###### ID of the project
table = "`api-project-999999999.88888888.ga_sessions_*`"

con_bigquery <- DBI::dbConnect(bigquery(),
                               dataset = "some_project",
                               project = proyect,
                               billing = proyect)

query<-"select basic_cols
        from table"

basic_cols = c(
  "date",
  "clientId",
  "visitNumber",
  "channelGrouping")

query<- query %>% 
str_replace("basic_cols",paste(basic_cols,collapse = ',')) %>% str_replace("table",table)


df_raw<-tbl(con_bigquery,sql(query))

它确实完成了工作,但我想知道是否还有其他 Angular方式可以有效地做到这一点。

1 个答案:

答案 0 :(得分:1)

像这样使用三元运算符

<a class="url">{{ ad.domain+(ad.path1?'/'+ad.path1:'')+(ad.path2?'/'+ad.path2:'') }}</a>