Json 剔除:嵌套元素作为可观察元素
我正试图用knockout.js构建一个complexe视图,但遇到了一些问题。。 视图模型的内容数据作为JSON通过ajax加载。JSON非常复杂,有多个嵌套对象,其中一些应该可以观察到,而另一些则不能 这里有一个小例子(真实的例子是更深层次的) 有没有可能在淘汰赛中做到这一点Json 剔除:嵌套元素作为可观察元素,json,knockout.js,knockout-mapping-plugin,observable,Json,Knockout.js,Knockout Mapping Plugin,Observable,我正试图用knockout.js构建一个complexe视图,但遇到了一些问题。。 视图模型的内容数据作为JSON通过ajax加载。JSON非常复杂,有多个嵌套对象,其中一些应该可以观察到,而另一些则不能 这里有一个小例子(真实的例子是更深层次的) 有没有可能在淘汰赛中做到这一点 谢谢你的帮助 您必须对您的对象做一些工作…您可以使用映射插件,但是您仍然需要创建一些对象来接收数据并有条件地应用绑定 var KOObject = function(rawdata) { var self =
谢谢你的帮助 您必须对您的对象做一些工作…您可以使用映射插件,但是您仍然需要创建一些对象来接收数据并有条件地应用绑定
var KOObject = function(rawdata) {
var self = this;
self.BaseData = new BaseDataObject(rawdata.BaseData);
self.DataArray = rawdata.DataArray;
}
var BaseDataObject = function(baseData) {
var self = this;
self.Title = baseData.Title;
// you could keep chaining the creation of objects with this concept
self.DataArray = ko.observableArray(baseData.DataArray);
self.SecondArray = ko.observableArray(baseData.SecondArray);
}
在应用绑定之前,请新建此对象
ko.applyBindings(new KOObject(rawdata));
映射插件是一个很好的想法,它可以自动使用knockout对数据进行序列化和反序列化…如果您可以手动初始化数据集,那么它并不总是必要的…无论如何,这是一个很好的做法。您是否看过@MajorByte?我认为您应该将该注释转化为答案,这是现场的。可能是复制品
ko.applyBindings(new KOObject(rawdata));