私は現在 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 は、設定したデータを Stringify し、取得したデータを解析するために作成した 2 つのメソッドです (1 年以上使用している完全に機能するメソッドがあります)。
2 つの console.log は、上の図を表すものです (図 1 は 2 番目のログ、図 2 は最初のログ)
編集終了