Javascript 爱奥尼亚1-ngCordovaNativeStorage问题?
进展如何 我已经使用这个插件很长时间了,但今天我需要在我的应用程序中做一些通知。我需要将数据存储在设备中,然后,当我连接到internet时,我会将其发送到我的服务器。但这并不重要 我想做的是:Javascript 爱奥尼亚1-ngCordovaNativeStorage问题?,javascript,ionic-framework,ngcordova,cordova-nativestorage,Javascript,Ionic Framework,Ngcordova,Cordova Nativestorage,进展如何 我已经使用这个插件很长时间了,但今天我需要在我的应用程序中做一些通知。我需要将数据存储在设备中,然后,当我连接到internet时,我会将其发送到我的服务器。但这并不重要 我想做的是: 从服务器获取我的数据 使用nativeStorage将我的数据存储在设备中 获取数据并放入我的存储器 myFactory.getMyData().then(function(success) { $cordovaNativeStorage.setItem("mydata", succes
- 从服务器获取我的数据李>
- 使用nativeStorage将我的数据存储在设备中李>
myFactory.getMyData().then(function(success) {
$cordovaNativeStorage.setItem("mydata", success);
}, function(err) {...});
好的,我的数据存储正确。接下来,我将通过该数据循环并显示在视图中
$cordovaNativeStorage.getItem("mydata").then(function (success)
{
for (var i in success)
{
$scope.myData.push(success[i]);
}
}, function (err){
getMyData(); // function who will get my data from server
});
直到现在。
接下来,我将把这些数据发送到另一个视图并显示我的数据。但是,当我对该数据进行任何修改时(即使我直接在object或nativeStorage中进行了更改),如果我返回到主视图,修改也不会持续
$cordovaNativeStorage.getItem("myData").then(function (success){
success[myIndex].anyProperty = 'abc';
});
这是一个错误还是我不明白?当您调用$cordovanivestorage.setItem()时,本机存储实际上保存的是JSON字符串而不是JSON对象。与$cordovanivestorage.getItem()相同,它将返回JSON字符串。因此,在操作对象之前必须首先解析它
$cordovaNativeStorage.getItem("myData").then(function (jsonString){
if (jsonString) {
var jsonObj = JSON.parse(jsonString);
jsonObj.anyProperty = 'abc';
}
});
实际上,在我的工厂中,我返回一个对象(例如MyObjectFactory)。但如果我理解的话,cordovaNativeStorage会将该对象转换为JSON字符串,对吗?