A2 日期组件的重新初始化

A2 reinitialization of date component

我正在处理 Angular 2 个项目,我需要在其中使用此日期范围选择器:

https://www.npmjs.com/package/ng2-daterangepicker

日期选择器由一组选项组成,这些选项由我们通过模板传递的 json 对象表示。例如:

input type="datepicker" [options]="myDatePickerOptions" ...>

我想允许用户通过从列表中选择一种语言来翻译网站(翻译已完成,除日期选择器外一切正常)。

我们的想法是,一旦用户 select 一种新语言,我们就翻译日历(这应该很简单,只需更新代表选项 myDatePickerOptions 的 json 对象)。但是,当我更新设置时,没有任何变化。

我得出的结论是,一旦初始化,日期选择器就无法更改。因此,我认为实现我的目标的方法是重新初始化组件、重新渲染或任何你想调用它的方式。

我的问题是如何重新初始化子组件(以便调用构造、ngoninit 和所有其他内容)。

当组件在模板中被引用而不是动态添加时,您没有对 componentRef 的引用来销毁视图。但是 ngIf 可以做到这一点,因此您可以像这样使用它来重新初始化组件:

<ng-container *ngIf="toggle">
    <input type="text" name="daterangeInput" daterangepicker [options]="options" (selected)="selectedDate($event)">
</ng-container>