1

我是Ionic的新手。 我在形式如何將數據寫入離子形式的csv文件?

<ion-item> 
    <ion-label floating>Name</ion-label> 
    <ion-input #name type="text"></ion-input> 
</ion-item> 

    <ion-item> 
    <ion-label floating>school</ion-label> 
    <ion-input #school type="text"></ion-input> 
    </ion-item> 

<div padding> 
    <button block ion-button (click)="SaveForm()">Save data</button> 
</div> 

保存按鈕用戶點擊後兩個領域,我想以CSV格式將數據保存在本地的文件系統。

我試圖

SaveForm() 
{ 

    var finalCSV = this.name.value+','+this.school.value; 
    alert('finalCSV'); 
     $cordovaFile.writeFile(cordova.file.externalRootDirectory, 'data.csv', finalCSV, true).then(function(result){ 
      alert('Success! Export created!'); 
      }, function(err) { 
      console.log("ERROR"); 
      }) 

} 

在同一個TS文件我已經加入

import {File} from 'ionic-native'; 
declare var cordova:any; 

const fs:string = cordova.file.dataDirectory; 
File.checkDir(this.fs, 'mydir') 
    .then(_ => console.log('yay')) 
    .catch(err => console.log('boooh')); 

我收到以下錯誤

打字稿出錯找不到名稱 '$ cordovaFile'。

如何解決此錯誤?

有沒有更好的方法來實現這個?

+0

我想你必須在$ ionicPlatform.ready函數中包裝你的代碼。 (函數(結果){ )alert('成功!導出已創建!')(函數()){函數(){函數(){} {cordovaFile.writeFile(cordova.file.externalRootDirectory,'data.csv',finalCSV,true) );} ,功能(ERR){ 的console.log( 「ERROR」);} ) \t \t}; –

回答

0
import {Page, Platform} from 'ionic/ionic';  

constructor(platform: Platform) { 
    this.platform = platform; 
} 
this.platform.ready().then(() => { 
    cordovaFile.writeFile(cordova.file.externalRootDirectory, 'data.csv', finalCSV, true).then(function(result){ 
       alert('Success! Export created!'); 
       }, function(err) { 
       console.log("ERROR"); 
       }) 
} 
+0

我得到打字稿錯誤 無法找到名爲 '$ ionicPlatform' 需要什麼樣的進口是我們需要添加使用這個? – vjnan369

+0

在你的控制器中注入$ ionicPlatform,$ cordovaFile作爲依賴。https://docs.angularjs.org/guide/di –

+0

對不起,對於ionic1而不是ionic2 –