Angular12 使用ngTemplateOutlet简化html代码

场景:需要显示十几条样式一样的Label; 但是label的值和显示条件不一样;如果平述的话,洋洋洒洒的代码基本一样,就是几个参数元素不一样,不值得重复去写无效代码;所以想使用ngTemplateOutlet ,将同样的html代码写在模板里面;将不一样的元素当参数传进去,进行判断显示。

eg:

 <ng-container *ngTemplateOutlet="
              //模板Id              
              requiredTemp; 
              //模板內容,一个object对象,里面属性随意声明
              context: {
                requiredFlag: requiredSetting?.isRequested,
                key: 'Technician'
              } 
            ">

 在模板中,使用 let-templateParam="param" 这样的形式,接收到上面ng-container传过来的参数,进行显示渲染处理;当有上百个ng-container的时候,也只需要写一遍template;代码自然就简化了

<ng-template #requiredTemp let-requiredFlag="requiredFlag" let-key="key">
  <ng-container *ngIf=" !requiredFlag ; else showRequired">
    <nz-form-label nzNoColon nzSpan="9">{{ l(key) }} </nz-form-label>
  </ng-container>
  <ng-template #showRequired>
    <nz-form-label nzNoColon nzSpan="9" nzRequired>{{ l(key) }}</nz-form-label>
  </ng-template>
</ng-template>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值