我需要为一个ko可观察对象分配一个javascript对象。 这个对象有75个特性,如果我写的东西是这样的:KnockoutJS - 将js对象分配给可观察的viewmodel
viewmodel.myprop(obj);
它需要非常非常耗费时间和网页崩溃。
我想周围对象属性使用for循环迭代工作,但我不能写正确赋值指令:
for(property in obj){
// ????
}
我怎样才能做到这一点?
谢谢
我需要为一个ko可观察对象分配一个javascript对象。 这个对象有75个特性,如果我写的东西是这样的:KnockoutJS - 将js对象分配给可观察的viewmodel
viewmodel.myprop(obj);
它需要非常非常耗费时间和网页崩溃。
我想周围对象属性使用for循环迭代工作,但我不能写正确赋值指令:
for(property in obj){
// ????
}
我怎样才能做到这一点?
谢谢
在此代码特性动态地创建
for (property in obj) {
if (obj.hasOwnProperty(property)) {
//here you can check all the values on each properties
console.log(property +" - "+obj[property]);
//Here new properties are registering for viewmodel
this[property] = ko.observable(obj[property]);
}
}
console.log(this.MyProperty());
myProperty的是你的大物体上的一些匹配的属性名称。
我无法理解您的具体问题。你是否同时设置了所有75个属性,导致某个计算的属性在该非常短的时间内计算了75次?如果是这样,使用循环不会解决问题; [改变观察,但不通知订阅者在knockout.js](http://stackoverflow.com/q/17983118/247702)可能是有用的。 – Stijn
我同意一定有一些其他的竞赛条件有效。将对象设置为可观察值不应导致这样的问题。 –
如何调试knockoutjs作业? – gravi