javascript - 动态 HTML 容器
问题描述
我需要创建动态 html,我有一个输入文本,我想在其中输入一个名称,并在按下 Enter 时创建一个容器
容器名称
<span><i class="fas fa-users"></i> Grupo de usuarios 1</span>
代码容器
<div class="card-top">
<div class="card-header">
<span><i class="fas fa-users"></i> Grupo de usuarios 1</span>
<div class="card-header-actions save-button">
<a href="" class="card-header-action" target="_blank">
<small class="text-muted" (click)='saveGroup()'><i class="far fa-check-circle"></i> GUARDAR</small>
</a>
</div>
</div>
<div class="card-body">
<div class="pacientes-box" cdkDropList #pendingList1="cdkDropList" [cdkDropListData]="terapeutasgrupouno" [cdkDropListConnectedTo]="[pendingList3]" (cdkDropListDropped)="drop($event)">
<div class="grupo-terapeuta" *ngFor="let item of terapeutasgrupouno" [cdkDragData]="item" cdkDrag><i class="fas fa-user-md fa-icon"></i> {{item}}</div>
<p class="dragdrop" *ngIf="terapeutasgrupouno == ''"><i class="fas fa-user-md fa-icon"></i> Arrastra un terapeuta</p>
</div>
<div class="pacientes-box" cdkDropList #pendingList="cdkDropList" [cdkDropListData]="pacientesgrupouno" [cdkDropListConnectedTo]="[pendingList3]" (cdkDropListDropped)="drop($event)">
<div class="grupo-paciente" *ngFor="let item of pacientesgrupouno" [cdkDragData]="item" cdkDrag><i class="fas fa-user-injured fa-icon"></i> {{item}}</div>
<p class="dragdrop" *ngIf="pacientesgrupouno == ''"><i class="fas fa-user-injured fa-icon"></i> Añade pacientes</p>
</div>
</div>
</div>
解决方案
我认为这就是您要寻找的东西,如果我错了,请纠正我:
<input name="input" (keydown.enter)="create()" type="text"/>
<template #create></template>
我将假设您的容器 html 是它自己的组件,称为ContainerComponent
:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.less']
})
export class AppComponent {
constructor(private factory: ComponentFactoryResolver){ } // remember to import
@ViewChild('create', { read: ViewContainerRef }) container: ViewContainerRef;
create(): void {
const self = this;
self.container.clear();
self.container.createComponent(self.factory.resolveComponentFactory(ContainerComponent));
}
}
这样,当您输入名称并按 Enter 键时,创建方法就会运行,并且您的容器会被创建并替换为模板标签。我希望这能让您了解一种方法来实现您想要实现的目标......
推荐阅读
- java - Android 在多个活动中访问一个对象
- angular-cli - Angular CLI 安装速度非常慢,并以错误结束
- asp.net - 我收到此错误(System.Web.Mvc.WebViewPage
.Model.get 返回 null。) - php - 如何转换 preg_replace 以包装数组中的单词,而不是一个单词?
- batch-file - 这个批处理文件只有一半运行任何人?
- list - 如何将结构对象放入列表中?
- html - 如何将 2 个 SVG 并排放置在容器中并调整容器的高度?
- python - 将括号 [] 切换到列表后,这是否会被认为是相同的?
- arrays - Swift 数组非常慢(在字典中使用时)
- php - 如何让“帖子”显示在 wordpress 的管理侧边栏中?