2015-01-31 5 views
5

Visual Studio 2003 업데이트 4를 사용하여 Ionic + Angular + Apache Cordova 4.0을 사용하여 A Hybrid Mobile 앱을 프로토 타이핑했습니다. 데이터베이스에 액세스 할 수있는 SQLite 플러그인을 설치했습니다. 이 플러그인에 액세스 할 수Typescript를 사용하여 Apache Cordova 플러그인에 액세스

권장되는 방법은 다음과 같습니다

var db = window.sqlitePlugin.openDatabase({name: "my.db"}); 

하지만 플러그인 타이프 라이터 정의하지 않습니다 - 단지 코르도바합니다. 그래서 Typescript는 sqlitePLugin과 그것에 대해 불평하지 않습니다.

Typescript 코드에서 Cordova 플러그인에 어떻게 액세스합니까? 어떻게 든 기본 "창"개체를 확장해야한다는 것을 알고 있습니까? 그렇게하는 방법 ?

감사합니다.

답변

4

나는 어떻게 든 기본 "창"개체를 확장해야한다는 것을 알고 있습니까? 그렇게하는 방법 ? 여기

당신은 이동 :

interface Window { 
    sqlitePlugin: any; 
} 

var db = window.sqlitePlugin.openDatabase({name: "my.db"}); 

참고 : 타이프 라이터 인터페이스 열린 자신의 선언이 구성원을 추가 다시 열 수에을 종료합니다.

3

올바른 방법은 클래스의 측면을 창 밖을 선언하고 클래스에서 사용되는 (플랫폼 후주의 사용 sqlite가 될 준비;!)) 나는 유형 정의를 설치 한 이후

interface Window { 
    sqlitePlugin: any; 
} 
declare var window : Window; 
... 
    export class MyClass{ 

    this.platform.ready().then(() => { 

    var db = window.sqlitePlugin.openDatabase({ name: 'MyDB.db', iosDatabaseLocation: 'default', location: null }); 
.... 
}); 
} 
0

타이프 라이터가 행복 :

npm install --save-dev @types/cordova-sqlite-storage.

관련 문제