私はサードパーティのバーコードスキャナプラグインを持っています。私はこのプラグインを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では$ root( 'deviceready'、function()...)で聞くことができます。今は自分自身の角度が比較的新しいですが、コールバックを処理した方法は関数呼び出しを追加することです匿名の機能の中で。 – Coss