我需要在我的Angular 4/5应用程序中构建一个TimeZone选择器。当用户更改时区时,我希望页面上的所有显示时间值立即更新。实现动态时区选择器Angular 2/4/5
我正打算使用:
- momentjs使用
angular2-moment
和angular-moment-timezone
时区的支持。 - 要格式化日期,请使用
amLocal
管道,然后是其他管道。 - 当用户选择不同的时区,我打算叫
moment.tz.setDefault(_timezone)
通过以上的值从被格式化为新的时区了这一点,而目前显示的时间值不会改变。由于输入值没有改变,角度更改检测机制不会更新显示的时间值。
由于性能开销(考虑时区更改不是一个频繁的活动),我不想创建“不纯”管道。
作为后备我可以创建一个管道(或使用现有的),将当前时区作为参数。它确实有效,但我需要将当前时区值传递给每个组件和模板。
我一直无法找到角度变化检测的方法,即使没有值的变化,也会发生变化。
任何建议将受到欢迎。
*我一直没能找到一种方式,角度变化检测相信有变化,即使没有*值的变化:是你有:这就是所谓的不纯管道。 –
双重绑定可能是您的最佳选择? –
当你说“不更新显示的时间值”时,你的意思是什么?你的意思是这些值代表“现在”,你希望它们像时钟一样向前跳动?如果是这样,你需要一个某种计时器。 –