2016-06-27 42 views
1

Ich benutze Ionic mit BarcodeScanner, die gefunden werden kann here. Dies ist mein Code ein Stück Text zu kodieren:TypeError: Kann die Eigenschaft 'TEXT_TYPE' von undefined (BarcodeScanner) nicht lesen

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

Allerdings bin ich den Fehler in der Frage bekommen. Das ist seltsam, da der Plugin-Code, die ich benutze ist:

function BarcodeScanner() { 

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

ich das Objekt korrekt wie in der Website (zB in Cordova) am Zugriff. Woher kommt dieser Fehler?

+1

versuchen, diesen Code in deviceready Funktion zu schreiben –

+0

Haben Sie versucht, die neuere Version des Plug-ins verwenden: https://github.com/phonegap/phonegap-plugin-barcodescanner? – daserge

+0

Ich habe es einen Barcode scannen und es funktioniert gut. Und ja, ich habe die neuere Version verwendet –

Antwort

0

Bitte beachten Sie, diesen Teil der Dokumentation

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

Ich gehe davon aus, dass Sie nicht die Typen mit $cordovaBarcodeScanner zugreifen können. Sie müssen schreiben cordova.plugins.barcodeScanner.Encode.TEXT_TYPE oder vielleicht funktioniert es, wenn Sie nur BarcodeScanner.Encode.TEXT_TYPE schreiben.

+0

Hallo, ich versuche, was Sie vorgeschlagen, aber jetzt bekomme ich einen "ReferenceError: BarcodeScanner ist nicht definiert". Und das gleiche mit letzterem –

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

Bitte erklären Sie den Code in Ihrer Antwort. –

Verwandte Themen