2017-06-17 5 views
2

Ich erstelle eine App, um den Inhalt eines Buches anzuzeigen. Ich habe 3 Seiten in dieser App:Ionic 3 Inhalt einer Asset-Datei abrufen

Seite 1. Liste der Tasten, die Links zu den Kapiteln; (ChaptersPage)
Page 2. Liste der Schaltflächen, die auf Seiten eines Kapitels verweisen; (PagesPage)
Seite 3. Seiteninhalt; (PageContentPage)

Seiten 1 und 2 befinden sich in einem Tab. Wenn der Benutzer ein Kapitel auswählt, springt er zum nächsten Tab, wählt dann eine Seite des Kapitels aus und erhält dann den Seiteninhalt. Die Registerkarten sehen wie folgt aus: enter image description here

Alle Seiten und Kapitel sind in seinen eigenen Ordnern. Meine app Ordner wie folgt aussieht:

src 
|_ app 
|_ assets 
    |_ icon 
    |_ images 
    |_ chapters 
     |_ 1 
     |_page_1.txt 
     |_page_2.txt 
     |_ 2 
     |_page_1.txt 
     |_page_2.txt 
     |_ 3 
     |_page_1.txt 
     |_page_2.txt 
     |_ ... 
|_ pages 
|_ services 
|_ ... 

Zuerst wird, wenn der Benutzer ein Kapitel wählt ich aussehen müssen, wie viele Seiten innerhalb des Kapitels Ordner sind, so kann ich die richtige Anzahl von Tasten Liste. Ich versuche, ionic native File plugin zu verwenden, aber ich habe keinen Erfolg. Am Beispiel auf die Datei doc Plugin Ich bin immer „Verzeichnis doesnt exist“ bekommen:

this.file.checkDir(this.file.applicationDirectory, 'assets/chapters/2').then(_ => 
    console.log('Directory exists') 
).catch(err => console.log('Directory doesnt exist')); 

Also, meine Frage ist: Wie können wir lesen, wie viele Dateien in einem Ordner Kapitel? und danach, wie bekomme ich den Inhalt einer page.txt?

Antwort

3
readPage() { 
    this.http.request('../assets/chapters/1/page_1.txt') 
      .map(res => res.text() }) 
      .subscribe(text => { 
      this.txtContent= text; 
      }) 
      .catch(error => { 
      console.err("Path not found with error: ", error); 
      }); 
} 
0

Zunächst Änderung dieser Code-Block, das wird Sie in das Verzeichnis erhalten Sie

this.file.checkDir(this.file.applicationDirectory, './chapters/2').then(_ => 
    console.log('Directory exists') 
).catch(err => console.log('Directory doesnt exist'));