Je suis nouveau sur Ionic 4 et j'essaie de définir l'orientation de l'écran sur paysage et en me référant à la documentation, voici ce que je fais:
...
import {ScreenOrientation} from '@ionic-native/screen-orientation';
@Component({
selector: 'app-root',
templateUrl: 'app.component.html'
})
export class AppComponent {
constructor(
private platform: Platform,
private splashScreen: SplashScreen,
private statusBar: StatusBar,
private screenOrientation: ScreenOrientation,
) {
this.initializeApp();
}
initializeApp() {
this.screenOrientation.lock(ScreenOrientation.ORIENTATIONS.LANDSCAPE);
...
}
}
et lors de la compilation, j'obtiens cette erreur :
[ng] ERREUR dans src / app / app.component.ts (24,33): erreur TS2345: L'argument de type 'string' n'est pas assignable au paramètre de type 'OrientationLockType'.
et sur la console du navigateur:
Erreur non interceptée: impossible de résoudre tous les paramètres pour AppComponent: ([objet objet], [objet objet], [objet objet],?). à syntaxError (compiler.js: 2426) [] ...
5 Réponses :
Il y a un problème dans l'injection pour le quatrième paramètre, avez-vous correctement installé le plugin d'orientation de l'écran?
<preference name="orientation" value="landscape" />
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-screen-orientation/
Si ce n'est pas le cas travail, vous devriez essayer de cette façon (sans l'importation et l'injection)
cordova plugin add cordova-plugin-screen-orientation
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-screen-orientation/
De plus, si vous voulez forcer l'orientation paysage pour toute l'application, il est possible d'ajouter une préférence dans config.xml
ionic cordova plugin add cordova-plugin-screen-orientation npm install @ionic-native/screen-orientation
Je l'ai testé et ça marche dans la plate-forme Android 7.1.4
vous utilisez ionic V4, veuillez consulter le document, importez les éléments corrects.
import {ScreenOrientation} from '@ionic-native/screen-orientation';
pas
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';
Assurez-vous d'ajouter ScreenOrientation au tableau des fournisseurs dans le module à l'aide du plugin.
Par exemple dans app.module.ts
tableau des fournisseurs dans le module utilisant le plugin.
providers: [
ScreenOrientation
]
Cela a fonctionné pour moi (Ionic 5). Dans votre page.module, importez la dépendance:
providers: [
ScreenOrientation,
...]
et fournissez au module:
import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';