2016-02-26 75 views
0

我有一个使用angular.jscordova中编写的应用程序。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; 

    } 
} 

回答

0

对不起,我错了。

它实际上工作正常。

问题出现在行"Functionality: " + functionality + "\n" +其中'功能'未分配。

相关问题