Angular 是否可以动态更改ngbDatepicker格式化程序?
我正在寻找一种基于用户选择在ngbDatepicker控件上的不同日期格式化程序(例如mm dd yyyy/dd mm yyyy)之间切换的方法 感谢您的任何想法/帮助。当然(不可能就是一切)。但在此之前,您需要了解DateParserFormat和DateAdapter,请参见 在您的情况下,您只需要使用CustomDateParseFormat 我们唯一需要的是函数parse/format和fromModel/toModel组成一个变量。我没有找到一个很好的方法也注入服务Angular 是否可以动态更改ngbDatepicker格式化程序?,angular,ng-bootstrap,dateformatter,ngb-datepicker,Angular,Ng Bootstrap,Dateformatter,Ngb Datepicker,我正在寻找一种基于用户选择在ngbDatepicker控件上的不同日期格式化程序(例如mm dd yyyy/dd mm yyyy)之间切换的方法 感谢您的任何想法/帮助。当然(不可能就是一切)。但在此之前,您需要了解DateParserFormat和DateAdapter,请参见 在您的情况下,您只需要使用CustomDateParseFormat 我们唯一需要的是函数parse/format和fromModel/toModel组成一个变量。我没有找到一个很好的方法也注入服务 @Injectab
@Injectable({
providedIn: 'root',
})
export class MaskController{
mask:string="yyyy/MM/dd"
public setMask(mask)
{
this.mask=mask;
}
}
我们的CustomDateParserFormatter注入构造函数
@Injectable()
export class CustomDateParserFormatter {
constructor(private maskController:MaskController){}
get mask()
{
return this.maskController.mask;
}
...
}
嗯,我们唯一需要的就是根据“mask”的值以及调用
maskController.setMask(...)
我们的NGB数据采集器按我们的要求工作。Y在中输入一个示例(仅允许两个“掩码”dd/MM/yyyy和yyyy/MM/dd)
注意:在stackblitz中,我也更改了日期格式。只是不包括在CustomDateAdapter中