MomentJS를 사용하면 필요한 경우 .locale
(또는 .lang
이전 버전에서 )를 사용하여 ( 전역 적으로가 아닌) 특정 순간 인스턴스에 로케일을 설정할 수 있습니다 . moment
전역과 다른 특정 로케일에서 항상 작동 하는 함수 (42 개의 서명 모두)에 해당하는 함수를 어떻게 만들 수 있습니까?
사용자 지정 로케일로 작업해야하는 웹 프로젝트 내에 하위 모듈이 있습니다. 이 로케일이이 특정 하위 모듈 외부에서 사용되는 것을 원하지 않지만 해당 하위 모듈 내에서 일관되게 사용되기를 원합니다 . 그래서 저는 기본적으로 moduleMoment
처럼 호출 할 수 moment
있지만 사용자 정의 로케일에서 작동 하는 (또는 무엇이든) 원합니다 . 이를 수행하는 기본 제공 방법이 있습니까?
참고 : 나는 야 하지 의 로케일 변경에 대한 이야기 기존의 인스턴스를, 나는 호출에 대해서 이야기하고 moment
로케일 사용 (모든 다양한 서로 다른 서명에) 함수를 다른 글로벌 로케일. 따라서 이것은 작동하지 않습니다.
var m = moment(args).locale(localeId);
... 왜냐하면 args는 전역 로케일에서 처리 될 것이고, 그 후 로케일이 인스턴스에서 변경되기 때문에 너무 늦었습니다.
내가 찾을 수있는 유일한 방법은 moment
다음 과 같이 로케일을 임시로 설정하고를 호출 한 다음 로케일을 이전 로케일로 다시 설정 하는 함수를 갖는 것입니다 .
function moduleMoment() {
var prevLocaleId, m;
prevLocaleId = moment.locale();
try {
moment.locale(customLocaleId);
m = moment.apply(this, arguments);
return m;
} finally {
moment.locale(prevLocaleId);
}
}
또는 moment
다음과 같이에 추가 할 수 있습니다 .
moment.localized = function(locale) {
var prevLocaleId, m, args;
prevLocaleId = moment.locale();
try {
moment.locale(locale);
m = moment.apply(this, Array.prototype.slice.call(arguments, 1));
return m;
} finally {
moment.locale(prevLocaleId);
}
};
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다