타사 바코드 스캐너 플러그인이 있습니다. angularJS 컨트롤러에서이 플러그인을 호출해야합니다. 나는 기본 phonegap 프로젝트와 함께 제공되는 index.js에서 deviceready 이벤트에 대한 스캐너를 성공적으로 트리거 할 수 있습니다. 그러나 컨트롤러에서 플러그인을 호출하려고하면 스캐너 플러그인이 트리거되지 않습니다. 내하는 index.js 코드를 찾을 수 아래 : 나는 각 컨트롤러에서이 작업을 수행 할 때AngularJS 컨트롤러에서 phonegap 플러그인 호출
onDeviceReady: function() {
app.receivedEvent('deviceready');
cordova.plugins.pdf417Scanner.scan(function callback(scanningResult){
//handle success callback
}, function errorHandler(err){
//handle error
}, arg1, arg2
);
}
을, 무언가 같이 : 이제
var myApp = angular.module("scanApp",[]);
myApp.controller("mainCtrl", function(){
document.addEventListener('deviceready', fireScanner, false);
function fireScanner(){
alert("fireScanner is on");
cordova.plugins.pdf417Scanner.scan(function callback(scanningResult){
//handle success callback
}, function errorHandler(err){
//handle error
}, arg1, arg2
);
}
, 각 컨트롤러에, 나는 플러그인을 포장하고 deviceready 이벤트 리스너를 호출하십시오. "fireScanner가 켜짐"이라는 경고가 표시되지만 바코드 스캐너 플러그인이 트리거되지 않습니다. 나는 단순한 무언가를 놓치고 있다고 확신하지만, 나는 무엇을 알아낼 수 없다. 어떤 도움을 많이 주시면 감사하겠습니다!
Angular에서는 $ rootScope. $ on ('deviceready', function() ...)을 들으실 수 있습니다. 이제는 자신이 각성하기가 비교적 쉽지만 콜백을 처리 한 방법은 함수 호출을 추가하는 것입니다 익명의 기능 내에서. – Coss