У меня есть мобильное приложение с использованием Ionic, которое позволяет пользователю создавать записи журнала и позволяет им выбирать, в каком временном диапазоне они находятся. Выбранный часовой пояс не всегда является их текущим часовым поясом, в котором они находятся Я использую библиотеку angular-moment для этого.Динамический часовой пояс с угловым моментом от пользовательских настроек
Вещи в основном работают, но мне нужно, чтобы значение angularMomentConfig
было динамическим, исходя из выбранных пользователем настроек. Если я жестко задаю часовой пояс, все работает на этот часовой пояс.
.constant('angularMomentConfig', {
timezone: 'America/Buenos_Aires'
})
Однако мне нужно, чтобы часовой пояс был динамическим значением, основанным на их выбранном часовом поясе. Я понимаю, что константа не может быть изменена в угловом приложении, поэтому это неправильная вещь. Просто я не знаю, что использовать, или если это возможно. Я пробовал использовать .value()
вместо .constant()
, но это не работает с угловым моментом. Из того, что я вижу, нет никакого способа вставить внешнее значение в константу, но, возможно, есть и другой способ установить это, о котором я не знаю.
В настоящее время у меня есть .run
, который получает свои настройки и сохраняет их на местном уровне, который включает в себя их часовой пояс:
.run(function(config, localStorageService, $http){
$http({
url: config.apiUrl + 'hos/settings/'
}).then(function(data) {
localStorageService.set('settings', data.data);
// their timezone is here
console.log(localStorageService.get('settings').timezone);
}, function(err) {
console.log(err);
});
}