很多时候要在多个页面之间传递数据,查看apicloud官方文档得知
http://docs.apicloud.com/Dev-Guide/data-storage-dev-guide
,本地数据存储方式有以下几种:
html5的Local Storage
偏好数据
文件
sqlite
数据库
那么我在多个页面中传递数据,采用的就是html5的Local Storage
直接上代码
页面1:
html代码
<button onclick="save()">保存</button> <button onclick="open2()">打开另一个页面</button>
js代码
function save(){
$api.setStorage("key1", "字符串");
$api.setStorage("key2", 123);
var userInfo={
"name":"哈哈",
"gender":1
};
$api.setStorage("key3", userInfo);
}
function open2(){
api.openWin(
{
name: 'page1',
url: 'LocalStorage2.html'
}
);
}页面2
html代码
<button onclick="read()">读取</button> <button onclick="rm()">删除key1</button> <button onclick="rmAll()">清空所有</button>
js代码
function read(){
var value1 = $api.getStorage("key1");
alert(value1);
var value2 = $api.getStorage("key2");
alert(value2);
var value3 = $api.getStorage("key3");
alert(JSON.stringify(value3));
}
function rm(){
$api.rmStorage("key1");//用完后要及时删除,不然可能会干扰数据
alert('删除key1');
}
function rmAll(){
$api.clearStorage();//慎用
alert('清空');
}