html - 更改 DIV 标记内元素的顺序
问题描述
我想div
在特定条件下动态地更改元素的顺序。
原始代码是
<div class="radio radio-inline radio-primary">
<input
id="allergyYes"
type="radio"
(click)="toggleAllergy($event)"
data-toggle="true"
[(ngModel)]="allergy.isAllergic"
[value]="1"
name="allergyYes"
/>
<label for="allergyYes">{{selectedLanguage.yes}}</label>
</div>
当变量发生变化时,我希望将 div 内的顺序更改为:
<div class="radio radio-inline radio-primary">
<label for="allergyYes">{{selectedLanguage.yes}}</label>
<input
id="allergyYes"
type="radio"
(click)="toggleAllergy($event)"
data-toggle="true"
[(ngModel)]="allergy.isAllergic"
[value]="1"
name="allergyYes"
/>
</div>
我怎样才能做到这一点?
解决方案
您可以使用两个模板和一个ngif(描述部分中的第三个示例)。
如果表达式的计算结果为 ,这将在 div 中显示内容true
,否则将显示ng-template
if 计算结果为的内容false
。
<div class="radio radio-inline radio-primary" *ngIf="myVar === 'option-one';else elseBlock">
<input id="allergyYes"
type="radio"
(click)="toggleAllergy($event)"
data-toggle="true"
[(ngModel)]="allergy.isAllergic"
[value]="1"
name="allergyYes" />
<label for="allergyYes">{{selectedLanguage.yes}}</label>
</div>
<ng-template #elseBlock>
<label for="allergyYes">{{selectedLanguage.yes}}</label>
<input id="allergyYes"
type="radio"
(click)="toggleAllergy($event)"
data-toggle="true"
[(ngModel)]="allergy.isAllergic"
[value]="1"
name="allergyYes" />
</ng-template>
@Component({
// Component settings
})
export class TestComponent {
public myVar = 'option-two'
}
推荐阅读
- javascript - 从选择框中显示数据而不单击按钮
- jquery - Jquery验证器设置值空白
- javascript - 冒泡排序保存掉期的历史记录不起作用
- linux - 为什么我会收到“s6-log:致命:无法 open_append /run/service/app/lock: Not a directory”?
- android - Window Touches 背后的 Android Studio
- javascript - AJAX 请求在验证时运行两次
- blazor - blazor 组件未更新 | 核心3.0
- scikit-learn - 部署使用 sagemaker.estimator.Estimator 获得的最佳估计器时出现问题(带 sklearn 自定义图像)
- routing - RPL 路由邻居
- java - 使用spring security成功登录后如何将对象添加到视图中?