angular - Angular 8 - 渲染 ng 模板之一
问题描述
我有两个<ng-template>
s。我如何在没有外部元素的情况下有条件地渲染其中一个?
我想做这样的事情:
<ng-container
*ngIf="condition ? ngTemplateOne : ngTemplatetwo">
</ng-container>
解决方案
如果使用外部元素是指ngTemplateOutelet
,则不能。但是,以防万一,您可以通过以下方式实现:
<ng-container *ngTemplateOutlet="someCondition ? template1 : template2"></ng-container>
如果您需要传递给这些模板以object
供使用,则语法不同:
<ng-container [ngTemplateOutlet]="someCondition ? template1 : template2" [ngTemplateOutletContext]="{item:item}">
</ng-container>
推荐阅读
- yii2 - ActiveQuery::andFilterWhere() 中的 Yii2 DB 表达式
- llvm - 是否有任何 api 可以使用 llvm 转换传递来初始化我的自定义类对象?如果没有,实现这一目标的最佳策略是什么?
- charts - 如何在 balkangraph orgchart 中“修复缩放功能”错误?
- xcode11 - Xcode 11 beta 7 (11M392r) 与 Catalina beta 7 (19A546d) 不兼容?
- wordpress - Wordpress 在 google 中列出 estranger 结果
- vue.js - 单击 div 上的事件以获取 innerText 值并使用事件总线 $emit 到另一个组件不起作用
- mongodb - MongoDB查询时间(%Y-%m-%d %H)小于当前时间
- ruby-on-rails - 根据其 slug 路由部分时出现未初始化的常量错误
- pandas - 使用 pandas 获取文本文件的子集
- concourse - 如何通过 API 获取 Concourse 或 fly CLI 的版本