0
我有一個使用angular.js
在cordova
中編寫的應用程序。Cordova`barcodeScanner`將結果返回給控制器
在角度控制器中,我從工廠調用掃描方法,該方法應該掃描QR碼並將結果返回給控制器。
下面的代碼管理開始掃描插件,但不返回結果回控制器。
這裏最好的辦法是什麼?
謝謝:-)
app.controller("LoggerController", ["$scope", "$location", qrReaderFactory", "$window", function ($scope, $location, qrReaderFactory, $window) {
$scope.$on('$viewContentLoaded', function() {
qrReaderFactory.scan("logger").then(function (result) {
$window.alert("We got a barcode\n" +
"Result: " + result.text + "\n" +
"Format: " + result.format + "\n" +
"Functionality: " + functionality + "\n" +
"Cancelled: " + result.cancelled);
},
function (error) {
$window.alert("Scanning failed: " + error);
}
);
});
}]);
app.factory("qrReaderFactory", ["$http", "$q", "$window", function ($http, $q, $window) {
function scan(functionality) {
var deferred = $q.defer();
cordova.plugins.barcodeScanner.scan(
function (result) {
deferred.resolve(result);
},
function (error) {
deferred.reject(error);
}
);
return deferred.promise;
}
}