我目前正在测试 kendoUI 并开发一个小 webapp。
出于某种原因,我需要将我的 dataSource.datas 从一个视图传递到另一个视图。为了做到这一点,我使用 sessionStorage,当我尝试将 dataSource.data() 放入 sessionStorage 时,返回为空。
当我放置日志以测试我的 dataSource.data() 是否正确插入/返回时,请参见此处
但是,当我放一个日志来测试 ma dataSource 时,我可以清楚地看到 _data 不是空的,如下图所示:
有人知道我的问题的根源吗?
编辑
这是显示我如何将数据源添加到 sessionStorage 的代码:
var qui = (e.view.params.qui) ? e.view.params.qui : "";
var quoi = (e.view.params.quoi) ? e.view.params.quoi : "";
dataSourceFournisseurs = new kendo.data.DataSource({
transport : {
read : {
url:"annuaire.json",
dataType:"json"
}
},
schema : {
data : "data",
model : {
DISTANCE: function() {
var lat = this.get("LATITUDE");
var lng = this.get("LONGITUDE");
var distance = APP.distanceBetweenCoords(lat, lng);
return "à " + distance + "km";
}
}
},
sort : {
field : "LIBELLE",
dir : "asc"
},
filter: [
{ field: "LIBELLE", operator: "contains", value: qui },
{ field: "NAFLIBELLE", operator: "contains", value: quoi }
]
});
console.log(dataSourceFournisseurs);
session.setValueObject("liste", dataSourceFournisseurs.data());
这是我检索它的方法:
var datas = session.getValueObject("liste");
console.log(datas);
PS:
setValueObject 和 getValueObject 是我编写的两种方法,用于对我设置的数据进行字符串化并解析检索到的数据(我使用它们一年多了)
这两个console.log是代表上图的那些(图1是第二个日志,图2是第一个日志)
编辑结束