비전 역 로케일에서 작동하는 '순간'함수를 어떻게 빌드 할 수 있습니까?

TJ 크라우 더

MomentJS를 사용하면 필요한 경우 .locale(또는 .lang이전 버전에서 )를 사용하여 ( 전역 적으로가 아닌) 특정 순간 인스턴스에 로케일을 설정할 수 있습니다 . moment전역과 다른 특정 로케일에서 항상 작동 하는 함수 (42 개의 서명 모두)에 해당하는 함수를 어떻게 만들 수 있습니까?

사용자 지정 로케일로 작업해야하는 웹 프로젝트 내에 하위 모듈이 있습니다. 이 로케일이이 특정 하위 모듈 외부에서 사용되는 것을 원하지 않지만 해당 하위 모듈 내에서 일관되게 사용되기를 원합니다 . 그래서 저는 기본적으로 moduleMoment처럼 호출 할 수 moment있지만 사용자 정의 로케일에서 작동 하는 (또는 무엇이든) 원합니다 . 이를 수행하는 기본 제공 방법이 있습니까?

참고 : 나는 야 하지 의 로케일 변경에 대한 이야기 기존의 인스턴스를, 나는 호출에 대해서 이야기하고 moment로케일 사용 (모든 다양한 서로 다른 서명에) 함수를 다른 글로벌 로케일. 따라서 이것은 작동하지 않습니다.

var m = moment(args).locale(localeId);

... 왜냐하면 args는 전역 로케일에서 처리 될 것이고, 그 후 로케일이 인스턴스에서 변경되기 때문에 너무 늦었습니다.

TJ 크라우 더

내가 찾을 수있는 유일한 방법은 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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

@Component 선언에서 서비스 또는 전역 함수를 어떻게 사용할 수 있습니까?

분류에서Dev

Vue에서 전역 함수를 어떻게 사용할 수 있습니까?

분류에서Dev

브라우저 콘솔에서 Angular 서비스를 호출하는 전역 함수를 어떻게 선언 할 수 있습니까?

분류에서Dev

노드 js에서 전역 및 지역 변수를 어떻게 할당 할 수 있습니까?

분류에서Dev

Flutter : 빌드를 시작하기 전에 장치 로케일 목록을 어떻게 얻을 수 있습니까?

분류에서Dev

지역 변수를 조작하고 Observable을 반환하는 Angular 서비스 메서드를 어떻게 테스트 할 수 있습니까?

분류에서Dev

어떻게 든 파이썬의 전역 수준에서 로컬 함수를 사용할 수 있습니까?

분류에서Dev

contextProvider간에 setState 함수를 어떻게 전달할 수 있습니까?

분류에서Dev

함수간에 객체를 어떻게 전달할 수 있습니까?

분류에서Dev

하나의 전역 규칙으로 htaccess에서 수동 규칙을 어떻게 적용 할 수 있습니까?

분류에서Dev

JavaScript의 여러 함수에서 전역 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

Sencha ExtJS 버전 6.0.2에서 사용하려는 시간대를 어떻게 전역 적으로 설정할 수 있습니까?

분류에서Dev

nunjucks에서 전역 변수를 어떻게 정의 할 수 있습니까?

분류에서Dev

Rebol 또는 Red에서 로컬 변수와 동일한 이름을 가진 전역 변수를 어떻게 변경할 수 있습니까?

분류에서Dev

전역 변수를 변경하지 않고 전역 변수의 값에 할당 된 지역 변수를 어떻게 변경할 수 있습니까?

분류에서Dev

전역에 설치할 수있는 npm 패키지를 어떻게 만들 수 있습니까?

분류에서Dev

목록에 비동기 함수를 어떻게 매핑 할 수 있습니까?

분류에서Dev

Dockerfile로 어떻게 도커 빌드를 할 수 있습니까?

분류에서Dev

내 서비스의 메서드가 호출되기 전에 일부 코드를 어떻게 비동기 적으로 실행할 수 있습니까?

분류에서Dev

JavaScript / Html에서 재생 및 일시 중지 할 수있는 비디오 요소 우선 순위를 어떻게 전환 할 수 있습니까?

분류에서Dev

ffmpeg로 .a 파일을 어떻게 빌드 할 수 있습니까?

분류에서Dev

Angular 8 NgRx 함수 메서드로 다른 동작을 어떻게 전달할 수 있습니까?

분류에서Dev

문서를로드하는 동안 JS 함수를 어떻게 호출 할 수 있습니까?

분류에서Dev

데비안의 서비스는 어떻게 작동하며 어떻게 관리 할 수 있습니까?

분류에서Dev

함수는 C ++에서 값으로 전달 된 매개 변수를 어떻게 수정할 수 있습니까?

분류에서Dev

DatagridView.Rows 또는 Datagridview.SelectedRows를받을 수있는 함수를 어떻게 빌드 할 수 있습니까?

분류에서Dev

void * 포인터를 기대하는 함수에 함수 객체를 어떻게 전달할 수 있습니까?

분류에서Dev

조건에서 작업간에 전달되는 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

동일한 코드를 사용하지 않고 어떻게이 코드를 단순화 할 수 있습니까? 범위 밖의 변수는 "시작, 종료, 일"과 함께 작동하지 않습니다.

Related 관련 기사

  1. 1

    @Component 선언에서 서비스 또는 전역 함수를 어떻게 사용할 수 있습니까?

  2. 2

    Vue에서 전역 함수를 어떻게 사용할 수 있습니까?

  3. 3

    브라우저 콘솔에서 Angular 서비스를 호출하는 전역 함수를 어떻게 선언 할 수 있습니까?

  4. 4

    노드 js에서 전역 및 지역 변수를 어떻게 할당 할 수 있습니까?

  5. 5

    Flutter : 빌드를 시작하기 전에 장치 로케일 목록을 어떻게 얻을 수 있습니까?

  6. 6

    지역 변수를 조작하고 Observable을 반환하는 Angular 서비스 메서드를 어떻게 테스트 할 수 있습니까?

  7. 7

    어떻게 든 파이썬의 전역 수준에서 로컬 함수를 사용할 수 있습니까?

  8. 8

    contextProvider간에 setState 함수를 어떻게 전달할 수 있습니까?

  9. 9

    함수간에 객체를 어떻게 전달할 수 있습니까?

  10. 10

    하나의 전역 규칙으로 htaccess에서 수동 규칙을 어떻게 적용 할 수 있습니까?

  11. 11

    JavaScript의 여러 함수에서 전역 변수를 어떻게 사용할 수 있습니까?

  12. 12

    Sencha ExtJS 버전 6.0.2에서 사용하려는 시간대를 어떻게 전역 적으로 설정할 수 있습니까?

  13. 13

    nunjucks에서 전역 변수를 어떻게 정의 할 수 있습니까?

  14. 14

    Rebol 또는 Red에서 로컬 변수와 동일한 이름을 가진 전역 변수를 어떻게 변경할 수 있습니까?

  15. 15

    전역 변수를 변경하지 않고 전역 변수의 값에 할당 된 지역 변수를 어떻게 변경할 수 있습니까?

  16. 16

    전역에 설치할 수있는 npm 패키지를 어떻게 만들 수 있습니까?

  17. 17

    목록에 비동기 함수를 어떻게 매핑 할 수 있습니까?

  18. 18

    Dockerfile로 어떻게 도커 빌드를 할 수 있습니까?

  19. 19

    내 서비스의 메서드가 호출되기 전에 일부 코드를 어떻게 비동기 적으로 실행할 수 있습니까?

  20. 20

    JavaScript / Html에서 재생 및 일시 중지 할 수있는 비디오 요소 우선 순위를 어떻게 전환 할 수 있습니까?

  21. 21

    ffmpeg로 .a 파일을 어떻게 빌드 할 수 있습니까?

  22. 22

    Angular 8 NgRx 함수 메서드로 다른 동작을 어떻게 전달할 수 있습니까?

  23. 23

    문서를로드하는 동안 JS 함수를 어떻게 호출 할 수 있습니까?

  24. 24

    데비안의 서비스는 어떻게 작동하며 어떻게 관리 할 수 있습니까?

  25. 25

    함수는 C ++에서 값으로 전달 된 매개 변수를 어떻게 수정할 수 있습니까?

  26. 26

    DatagridView.Rows 또는 Datagridview.SelectedRows를받을 수있는 함수를 어떻게 빌드 할 수 있습니까?

  27. 27

    void * 포인터를 기대하는 함수에 함수 객체를 어떻게 전달할 수 있습니까?

  28. 28

    조건에서 작업간에 전달되는 변수를 어떻게 사용할 수 있습니까?

  29. 29

    동일한 코드를 사용하지 않고 어떻게이 코드를 단순화 할 수 있습니까? 범위 밖의 변수는 "시작, 종료, 일"과 함께 작동하지 않습니다.

뜨겁다태그

보관