我不确定是否可行。
<span class="nav-label second-level-text" style="margin-left: 10px;">
{{partner.name}}
<span class="badge"
*ngIf="unreadConversations.length > 0 | unreadConversationForPartner : [unreadConversations,partner.id]">
{{unreadConversations.length | unreadConversationForPartner : [unreadConversations,partner.id]}}
</span>
</span>
Run Code Online (Sandbox Code Playgroud)
我在这边。我正在将过滤器应用于,*ngIf并且还显示了返回的过滤器的值(即计数)
如果从管道返回的计数大于0,则我想显示一种样式,否则不显示样式。但是,我能够通过以下方式实现此目的,*ngIf and Filter但是如果Filter更改了的值,则*ngIf不会更改。
例如。我在阵列中有2个项目。
项目1:长度为1,它显示跨度并执行其工作...
第2项:开始时长度为0,并且不显示(这是正确的行为),但是过滤器值发生了变化,但是之后*ngIf不再调用。
unreadConversationForPartner pipe
transform(value: any, ...args: any[]): any {
var count = 0;
var partnerId = args[0][1];
var conversations = args[0][0];
conversations.forEach(element => {
if(element.partnerId == partnerId) count++
});
return count;
}
Run Code Online (Sandbox Code Playgroud)
让我知道所提供的信息是否不够或不清楚。
您可以使用as前一段时间介绍的内容
*ngIf="unreadConversations.length > 0 | unreadConversationForPartner : [unreadConversations,partner.id] as result"
Run Code Online (Sandbox Code Playgroud)
然后在其他指令或绑定中使用它
[ngStyle]="{backgroundColor: result >= 5 ? 'red' : 'blue'}"
Run Code Online (Sandbox Code Playgroud)
另请参见https://angular.io/api/common/NgIf#storing-conditional-result-in-a-variable
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |