You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 17中如何用@if语法存储函数返回值并复用?

Angular 17 @if 语法替代 *ngIf as 变量的写法

原来使用*ngIf时通过as关键字存储函数返回值的写法,在Angular 17的@if语法中可以通过变量声明语法实现,具体改写如下:

@if (getMatchingImage(); let info) {
  <div>
    <img class="empty-cart-img" [src]="info.imageUrl" width="70%" decoding="async" loading="lazy" alt="Empty List">
    <figcaption>
      <ng-content></ng-content>
    </figcaption>
  </div>
}

关键说明

  • @if语法里用分号;分隔条件表达式和变量声明,let info会把getMatchingImage()的返回值绑定到info变量上
  • 原代码中绑定*ngIf的外层<div>需要移入@if的大括号内部,因为@if是块级指令,不像*ngIf直接绑定在元素上实现结构控制

内容的提问来源于stack exchange,提问作者Yuvaraj V

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 18:49:50