【发布时间】:2018-01-23 14:31:54
【问题描述】:
我一直在阅读有关嵌入的内容,我正在尝试确定是否需要这样做才能制作可以放置在任何地方的弹出选择器服务。
因为 ngx-bootstrap 还不支持模态日期选择器,所以我正在制作自己的。 我在整个应用程序中有多个日期选择器,甚至在同一页面上有几个,所以我希望它尽可能模块化。
我从标准日期输入开始:
<input
type="date"
class="form-control"
(click)="pickDate($event, '#requestDate')" />
目前,我的日期选择器就在页面中(绝对定位,所以它的行为就像一个弹出窗口):
<datepicker
id="requestDate"
name="requestDate"
[(ngModel)]="incident.absence.requestDate"
required></datepicker>
...但我希望我的服务能够按需生成。
目前的方法:
pickDate(e, popupId) {
e.preventDefault();
var popupCtrl = this.elementRef.nativeElement.querySelector(popupId);
popupCtrl.style.display= 'block';
}
输入和日期选择器之间将进行大量通信,来回传递初始化和修改日期。据推测,simple transclusion 是不够的。
在我的页面上生成控件的服务如何工作?
(或者我在这里重新发明轮子?)
【问题讨论】:
-
组件和指令设置指令有这个好处,可以绑定到一个属性,然后动态添加你的日期选择器组件,你可以绑定到许多输入或创建包含表单输入和日期选择器的父组件您的表单插入该组件,它应该作为表单的一部分工作。我构建了后者的作品就像一个魅力。
标签: angular datepicker transclusion