kendo observable.tojson()不返回完整的对象



我有一个可观察的对象,其中包含SharePoint站点和文件夹元数据。我尝试使用点表示法添加站点对象,并尝试observable.set.sent()方法。

它们被添加到对象中,当我检查对象时,新站点对象确实会添加到可观察的。但是,当我打电话给Tojson时,我只能在页面加载上创建的初始可观察。

var folder = {
    Id: 0,
    SharePointSite: site,
    RelativeUrl: "",
    IsActive: true
};
configuration.Sites[siteIndex] = site;
configuration.Folders[folderIndex] = folder; <- plain JS object
configuration.set(`Sites[${siteIndex}]`, site);
configuration.set(`Folders[${folderIndex}]`, folder); <- creates Observable object
loadPartialView($("#sites"), siteOverviewUrl, configuration.toJSON(), siteOverviewLoaded);

我自己创建文件夹对象,该站点对象是从用户提交的表单中序列化的。两者都被添加到可观察的,两者都在调用configuration.tojson()之后都不存在。配置是我的根可观察的。

预先感谢您。

kendo可观察的可观察到自身更新,如果使用 set 正确修改了值。

但是,如果执行JSON转换,则返回了普通的JSON对象,这不再是可观察到的。因此,对根可观察的任何进一步的更改都不会反映到该json对象或与该JSON执行的绑定。

希望此代码段将有所帮助并查看此演示

var observable = new kendo.data.ObservableObject({ name: "John Doe" });
observable.set("age", "30");
var a = observable.toJSON();
observable.set("height", "6");
console.log("observable", observable); // outputs "Observable"
console.log("json", a); // outputs "JSON"

最新更新