TypeError:无法读取未定义的属性“TEXT_TYPE”(BarcodeScanner)

时间:2016-06-27 03:42:04

标签: angularjs cordova ionic-framework

我正在使用Ionic和BarcodeScanner找到here。 这是我编码一段文字的代码:

$scope.GenerateBarcode = function () {
    $cordovaBarcodeScanner.encode($cordovaBarcodeScanner.Encode.TEXT_TYPE, "1", function(result){
        console.log("result:" + result);},
      function(fail){
        console.log("encoding failed: " + fail);}
      )  };

但是,我收到了问题中的错误。这很奇怪,因为我使用的插件代码是:

function BarcodeScanner() {

/**
 * Encoding constants.
 *
 * @type Object
 */
this.Encode = {
    TEXT_TYPE: "TEXT_TYPE",
    EMAIL_TYPE: "EMAIL_TYPE",
    PHONE_TYPE: "PHONE_TYPE",
    SMS_TYPE: "SMS_TYPE"
  .......

我正在网站中正确访问对象(Cordova中的示例)。这个错误来自哪里?

2 个答案:

答案 0 :(得分:0)

请注意文档的这一部分

 $cordovaBarcodeScanner
      .encode(BarcodeScanner.Encode.TEXT_TYPE, "http://www.nytimes.com")
      .then(function(success) {
        // Success!
      }, function(error) {
        // An error occurred
      });

我认为您无法使用$cordovaBarcodeScanner访问这些类型。你需要写cordova.plugins.barcodeScanner.Encode.TEXT_TYPE或者如果你只是写BarcodeScanner.Encode.TEXT_TYPE,它可能会有用。

答案 1 :(得分:0)

$cordovaBarcodeScanner
                .encode("TEXT_TYPE", "Your text here")
                .then(function (success) {
                    console.log(success);
                    // Success!
                }, function (error) {
                    console.log(error);
                    // An error occurred
                });