angular - 有条件地交换元素在一行中的位置
问题描述
我有一个组件在网格系统 simil-bootstrap 中显示一行。它就像左侧的图像和右侧的一些正文一样简单,两者都是从 CMS 中动态提取的。
我正在尝试添加一个先显示文本然后显示图像的条件,反之亦然。
似乎是要走的路,但我不知道怎么做ng-container
。ng-template
我正在寻找类似的东西:
<ng-container *ngIf="content.switched; then Image and Text; else Text and Image"></ng-container>
<ng-template #Image> ... </ng-template>
<ng-template #Text> ... </ng-template>
谢谢!
解决方案
它可以通过两个ng-container
元素来完成,每个元素都显示一个带有ngTemplateOutlet指令的模板并使用条件表达式选择模板:
<ng-container *ngTemplateOutlet="content.switched ? Image : Text"></ng-container>
<ng-container *ngTemplateOutlet="content.switched ? Text : Image"></ng-container>
<ng-template #Image>...</ng-template>
<ng-template #Text>...</ng-template>
请参阅此 stackblitz以获取演示。
推荐阅读
- excel - Excel 日期格式正在 Moblie Preview 上从日期更改为常规
- pyomo - pyomo 中的差异化
- sql - 在树形结构中计算公司中的人员
- c++ - 尝试实例化 bitset 并获取“非类型模板参数不是常量表达式”
- ios - Xcode 9.3 快速帮助(选项+单击)显示为空
- node.js - Hyperledger Fabric 教程“错误:未知标志:--peerAddresses”
- javascript - 基于Javascript的滑块不起作用
- php - 将存储在 JSON 数组中的字符串转换为 PHP 中的变量名
- android - 在 Android Studio 中更改布局后需要清理项目
- sql - SQL如何查找某个位是否打开