2017-04-01 4 views
0

내가 함께 내 이온 2 응용 프로그램에서 NG2이-번역 사용하는 것을 시도하고있다 :네비게이터 창 유형의 오류 2

this.translateService.setDefaultLang('en'); 
      if (this.platform.is('cordova')) { 
       if (navigator.globalization) { 
        navigator.globalization.getPreferredLanguage(function (language) { 

하지만

Typescript Error 
Property 'globalization' does not exist on type 'Navigator'. 
src/app/app.component.ts 
if (this.platform.is('cordova')) { 
    if (navigator.globalization) { 

가 그리고 내가 가지고있는이 오류를 얻을 코드 줄에 window.cordova와 오류의 동일한 유형 :

if (this.platform.is('cordova') && window.cordova.plugins.Keyboard) { 

나는 그렇게 네비게이터 유형 또는를 선언해야 mething? 당신의 도움이

+0

시도 :'NPM 유형/코르도바 --save-dev' @ 설치 도움이 될 수 있습니다 ... – Sasxa

+0

아니, 난 여전히 오류가없는 – Louis

답변

0

에 대한

덕분에 당신은 네비게이터 객체에 대한 타이프 라이터 입력 정보가 ​​누락하고 있습니다. 기본적으로, 당신이보고있는 오류 Typescript 컴파일러는 지금까지 제공 한 형식 정의를 기반으로 navigator 개체에 globalization 속성이 있음을 알리는 정보가 없음을 나타냅니다.

해결책은 해당 네비게이터 객체에 대한 입력 정보를 추가하는 것입니다.

솔직히 어떤 유형의 패키지가 포함되어 있는지 모르겠지만 Typescript v2 (또는 v2.1 ... 기억이 안나네요)에서 npm은 @types 네임 스페이스 아래 Typescript 라이브러리에 대한 유형 정의를 저장합니다.

그래서, 당신은 당신의 프로젝트에 유형 정의를 추가 할

npm install --save-dev @types/<some package> 

로합니다.

I로 시작을 추정하기 것

:

@npm install --save-dev @types/cordova-ionic 
+0

예 실제로 Typescript 타이핑은 아직 잘 이해하지 못했습니다. 그리고 저는 이것이 어떻게 코딩을 용이하게하는지 보지 않습니다 ... 평범한 자바 스크립트만큼 융통성이 없습니다. 어쨌든'npm install --save-dev @ types/cordova-ionic'과 같은 에러가 나기 때문에 어떤 패키지에 navigator.globalization, window.cordova, navigator.userLanguage에 대한 타이핑이 들어 있는지 찾을 수있는 데이터베이스가 있습니까? ? – Louis

+0

먼저 Ionic Native Globalization 플러그인을 추가해야한다고 생각합니다. – Louis