Начиная с версии 2.8.0, изменение глобальной локали не влияет на существующие экземпляры.
Как обновить локаль для существующих экземпляров момента без повторного рендеринга страницы
moment.locale('fr');
var m = moment(1316116057189);
m.fromNow(); // il y a une heure
moment.locale('en');
m.fromNow(); // il y a une heure
moment(1316116057189).fromNow(); // an hour ago
Как мне обновить языковой стандарт для m после того, как он был создан? Или связать локаль для m с локалью глобального момента?
Например:
У меня есть служба
// Language service
moment.locale('en-GB')
updateLanguage(lang) {
moment.locale(lang);
}
и компонент с
// Component
this.timeLabel = moment(this.event.time).fromNow(); // an hour ago
Когда я вызываю languageService.updateLang('fr');
, значение timeLabel необходимо изменить, чтобы оно использовало обновленную локаль. Однако он остается прежним.
Я мог бы подписаться на Subject
, но у меня есть сотни таких переменных в приложении