我想只显示链接以“https://”开头的项目 . 我想将子字符串与* ngIf中的特定字符串进行比较:
<div *ngIf="item.link | slice:0:8 == 'https://'">
<div class="title">
<a class="title-pointer" href="{{item.link}}">{{item.title}}</a>
</div>
</div>
我从/ @ angular / core导入了Pipe和PipeTransform,切片似乎工作:
{{item.link | slice:0:8}}
输出:https://
如果我将* sting与* ngIf中的变量进行比较,为什么它不起作用?我应该修改什么?
1 回答
虽然@DanielWStrimpel在评论中的解决方案可能有效,但整个应用程序中的这种可重用性大约为零 .
我建议创建一个通用的应用程序范围的服务,它可以为您处理此过程:
这样,您现在也可以根据需要匹配任何提供的字符串,例如子域,或者即使您想要从站点X排除
https://
链接所以你的
*ngIf
将是:或者如果您想匹配
https://
链接并从stackoverflow.com
排除网站:这也会比分割字符串和执行此评估两次更快,性能更明智,就像使用
pipe
一样 .以下是该服务的工作示例:https://stackblitz.com/edit/angular-aegndv
注意:将服务命名为更合适的东西 .