0

Ich brauche Ihre Hilfe mit diesem: Vor zwei Monaten hat meine Ionic 2 app funktionierte gut, die ScreenOrientation cordova-Plugin, mit diesem Code:Ionic 2 ScreenOrientation Plugin Änderungen

window.addEventListener('orientationchange',()=>{ 
    console.info('DEVICE ORIENTATION CHANGED!'); 
    console.debug(ScreenOrientation.orientation); 
    if(ScreenOrientation.orientation.type.indexOf('landscape') !== -1){ 
    this.screenOrientationIsPortrait = false; 
    } else if(ScreenOrientation.orientation.type.indexOf('portrait') !== -1){ 
    this.screenOrientationIsPortrait = true; 
    } 
}); 

In einem neuen Laptop ich die neueste Ionic 2-Version installiert ist, und die neueste Version des cordova ScreenOrientation Plugin, und mit der gleichen App-Code, und ich bin immer diese Fehlermeldung in Compile Zeit:

Eigenschaft ‚Typ‘ tut nicht im Typ 'String' vorhanden.

Ich habe versucht, die Beispiele in der Github-Repository des ScreenOrientation Plugin:

window.addEventListener('orientationchange',()=>{ 
    console.info('DEVICE ORIENTATION CHANGED!'); 
    console.debug(ScreenOrientation.orientation); 
    if(screen.orientation.type.indexOf('landscape') !== -1){ 
    this.screenOrientationIsPortrait = false; 
    } else if(screen.orientation.type.indexOf('portrait') !== -1){ 
    this.screenOrientationIsPortrait = true; 
    } 
}); 

aber mit diesem Code, ich bin diesen Fehler auch in Compile Time:

Immobilien "Ausrichtung" existiert nicht auf dem Typ "Bildschirm"

Beide, Ionic 2 und der ScreenOrienta Plugin wurden kürzlich aktualisiert. Basierend auf meinen Nachforschungen erscheint ein TypeScript-Fehler, kein Konflikt bei der Aktualisierung von Versionen.

Wie kann ich wissen, was los ist? Wie kann ich debuggen, um den Grund dieser neuen Fehler zu finden? Irgendwelche Ideen? Vielen Dank im Voraus, ich schätze Ihre Hilfe.

Github Repo-Beispiele: https://github.com/apache/cordova-plugin-screen-orientation

Ionic 2 Beispiele: https://ionicframework.com/docs/v2/native/screen-orientation/

Antwort

0

Sie können tatsächlich Änderung der Bildschirmausrichtung erkennen auch das Plugin ohne Zugabe. Verwenden Sie die Eigenschaftsausrichtung des Typfensters.

window.addEventListener('orientationchange',() => { 
     console.info('DEVICE ORIENTATION CHANGED!'); 
     console.debug(ScreenOrientation.orientation); 
     switch (window.orientation) { 
     case -90: 
     case 90: 
       console.log("Landscape orientation"); 
       this.screenOrientationIsPortrait = true; 
       break; 
     case 0: 
      console.log("Landscape orientation"); 
       this.screenOrientationIsPortrait = false; 
      break; 
     }  
    }); 
+0

Thaks für Ihre Hilfe, ich verwende Ihre Lösung und es funktioniert gut. Aber ich habe den Grund des Plugins und der TypScript-Fehler nicht gefunden. Grüße. – maguilleng