2016-06-07 3 views
0

예를 들어, Cordova에서 제공하는 Piwik 플러그인을 사용하고 싶다면 어떻게 그것을 Ionic 2 프로젝트에 통합 할 수 있습니까?어떻게 Cordova 플러그인을 Ionic 2 프로젝트에 추가 할 수 있습니까?

특히 프로젝트에서 플러그인을 어떻게 호출 할 수 있습니까?

예. Cordova에서 Plugin이라는 플러그인을 이미 추가했다면 어떻게 호출 할 수 있습니까?

Home.ts 파일에서 어떻게 인스턴스를 만들 수 있습니까?

let plugin = new Plugin(); 

이 작동하지 않습니다. 제 편집자는 Plugin not found 또는 이런 종류의 것을 말할 것입니다.

답변

2

해야 할 일 ionic plugin add NAME_OF_THE_PLUGIN 플러그인이 노출하고있는 개체를 정상적으로 사용할 수 있어야합니다. typescript를 사용 중이고 불평을하지 않으려면 다음과 같이 쓸 수 있습니다 : declare var name_of_the_variable 그래서 오류가 발생하지 않습니다. 또한 ionic은 플러그인 목록에 플러그인을 추가하므로 다음에 새로운 플랫폼이나 이온 상태를 추가하면 프로젝트가 자동으로 리셋되어 플러그인을 자동으로 가져옵니다.

또한 의존성 주입에 대해 알아보고 수동으로 @Inject ('name_of_variable')을 주입하고 모든 클래스에서 사용할 수 있습니다. DI에

더 : https://angular.io/docs/ts/latest/guide/dependency-injection.html

편집 : 코르도바 플러그인의 일부, 이온 당신이 사용할 수있는 몇 가지 '래퍼'를 제공한다. 자세한 내용은 여기 http://www.joshmorony.com/using-cordova-plugins-in-ionic-2-with-ionic-native/에서 확인할 수 있습니다.

변경 사항 감지 각도에 문제가있는 경우 (예 : 이와 같은 문제가 있음) 플러그인에서 ngZone.run(() => { ... })으로 호출을 래핑 할 수 있습니다. 당신은 또한 어떻게 인스턴스화 또는 플러그인의 객체를 새 수, 생성자 constructor(ngZone: NgZone)

나는 그것이 무슨 뜻

+0

도움이되기를 바랍니다 당신에게 현재 영역의 인스턴스를 제공하기 위해 각 요청해야? –

+0

새로운 Plugin()을 호출 할 필요가 없습니다. 문서에서 볼 수 있듯이 플러그인은 변수'''piwik'''를 노출합니다. 플러그인을 인스턴스화 할 필요는 없습니다. 코드 바로는 그렇게합니다. 그래서'''pikwik'' 변수는 브라우저가''문서''나''창문처럼 제공하는 다른 변수와 마찬가지로 처음부터 존재합니다 ''.. .. –

+0

그리고 무엇을 수입해야합니까? 여기 (https://github.com/kriserickson/cordova-piwik-plugin/blob/master/README.md)에서 piwik.startTracker()를 어떻게 사용하는지 알려주지 않았으므로이 함수를 호출하면 '객체를 찾을 수 없습니다. ' –

관련 문제