在自定义组件中包装ng-bootstrap datepicker

时间:2017-02-22 07:44:00

标签: javascript angular datepicker ng-bootstrap

我们正在使用带有Angular 2的ng-bootstrap组件库。

我们希望将ngb-datepicker包装在新组件中的不同选择器下。因此,如果需要,它可以与另一个日期选择器交换。

基本上,我们想用, <custom-datepicker>代替<ngb-datepicker> 该组件将具有相同的输入集。

完成此任务的一种方法是保留自定义组件。并传递组件的输入。

@Component({
selector: 'custom-datepicker',
template: '<uib-datepicker ...pass the inputs here ></uib-datepicker>',
})

有没有更好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

您需要实现ControlValueAccessor才能将[(ngModel)]与custom-datepicker一起使用。您可以找到大量的教程,尝试找一个不太旧的教程(&gt; 2016年8月),因为它自测试版以来已经发生了很大变化。

然后,您需要定义自定义组件需要如何做出反应,然后将所需的所有内容绑定到内部控件(在您的情况下为uib-datepicker)。

这意味着:

  • 输入(),用于调用自定义组件时要参数化的内容
  • 从内部控件中捕获事件时发出的Output()事件发射器