我正在测试kendoUI并开发一个小的webapp。
出于某种原因,我需要将dataSource.datas从视图传递到另一个视图。为了做到这一点,我使用sessionStorage,当我尝试将我的dataSource.data()放在sessionStorage中时,返回为空。
当我输入日志来测试我的dataSource.data()是否正确插入/返回时,请看这里
然而,当我把一个日志测试到ma dataSource时,我可以清楚地看到_data不是空的,如下图所示:
有人知道我问题的根源吗?
修改
这是代码,显示我如何将我的dataSource添加到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带有第一个日志)
编辑结束
答案 0 :(得分:0)
尝试使用dataSourceFournisseurs.view()
。这应该给你所有的数据。使用data
用于初始配置,并不打算用作检索数据的方法。
Bonne chance!