我正在尝试将Ionic应用程序中的JSON数据保存到本地设备存储中。我想使用ngCordova File插件。我似乎无法找到任何使用docs中所用方法的教程或示例应用。
之前是否有人使用此插件来保存JSON数据?你是怎么做到的?
答案 0 :(得分:2)
ngCordova使用文件编写器API消除了编写文件的大量丑陋。
此示例已从docs改编而来,并使用writeFile(path, file, data, replace)
,其中路径由cordova.file.DIRECTORY_TYPE
定义,file是文件的字符串名称,数据是字符串表示数据(因此我们将使用JSON.stringify()
)。 Replace是一个布尔值,它将简单地删除文件的现有内容。
//Write using cordova.file.dataDirectory, see File System Layout section for more info
var json = {"test": "hello world"}
$cordovaFile.writeFile(cordova.file.dataDirectory, "hello.json", JSON.stringify(json), true)
.then(function (success) {
// success
}, function (error) {
// error
console.log(error); //error mappings are listed in the documentation
});
对于控制器,假设我们使用的是controllerAs语法,它可能看起来像这样:
angular.controller("...",['$cordovaFile' function ($cordovaFile) {
var vm = this;
vm.writeFile = function (fileName) {
ionic.Platform.ready(function(){
// will execute when device is ready, or immediately if the device is already ready.
var json = {"test": "hello world"}
$cordovaFile.writeFile(cordova.file.dataDirectory, "hello.json", JSON.stringify(json), true)
.then(function (success) {
// success
}, function (error) {
// error
console.log(error); //error mappings are listed in the documentation
});
});
};
});