9
votes

Cordoue: localFilesystem n'est pas défini

Je ne suis pas capable de faire fonctionner le système de fichiers Cordova. J'ai un projet avec les dépendances suivantes: xxx pré>

in app.js code> Je définis une dépendance sur un module de contrôleur: p> xxx Pré>

Le code du contrôleur est fondamentalement ceci: p> xxx pré>

Ce que je reçois alors est: p> xxx pré>

aussi, DemandeFileSystem code> est indéfini. Quelle pourrait être la raison de ce comportement? P>

J'utilise Cordoua 4.1.2 et Ionic 1.3.1. P>

EDIT: STRUT> Ceci est le fichier HTML Marquage: P>

<body ng-app="starter" ng-controller="GalleryCtrl">
<ion-nav-view>
    <ion-slide-box id="slideBox">
        <ion-slide ng-repeat="..."> <!-- details omitted -->
        </ion-slide>
    </ion-slide-box>
</ion-nav-view>
</body>


0 commentaires

3 Réponses :


-1
votes

L'une des raisons de la requêteFileSystem ne pas être disponible est que le périphérique n'est pas prêt.

Essayez d'exécuter le code une fois que la fenêtre est prête: P>

$scope.$on('$ionicView.enter', function(event, data) {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, success, error);
});


1 commentaires

Bien que votre approche supprime les messages d'erreur, il ne fait donc pas de tirer le $ ionicview.enter . Par conséquent, fenêtre.RequestFileSystem (localfileSystem.persistent, 0, succès, erreur); n'est jamais exécuté. Une idée pourquoi cela pourrait arriver?



11
votes

Vous n'attendez simplement pas que l'événement DeviceReady doit être tiré et que le plugin de fichier n'est donc pas chargé. Changer xxx

à xxx

le localfilesystem.persistent peut être indéfini même après cela (a été pour moi Tout en émulant, etc.) mais il peut être remplacé par 1 comme il est juste une constante.


2 commentaires

Je devrais ajouter que Apparemment, le plugin de transfert de fichier empêchait l'événement DeviceReady d'être déclenché. Après avoir retiré ce plugin et vous enregistrer au-dessus de l'écouteur d'événement toutes les bien a fonctionné.


Notez que, à cause du titre de cette question, des gens comme moi peuvent venir ici qu'ils n'ont tout simplement pas ajouté à Cordova File Plugin, la solution: Cordova Plugin Ajouter Cordova-plugin-file



-1
votes

pour injecter ionique $ ionicplatform puis utilisez: xxx


0 commentaires