我正在玩Knockout.js进行数据绑定很长一段时间。但是,坚持这个问题。实际上,这是我想要做的一项改进。
现在我正在尝试这样做,
目前,我正在服用三个变量来完成我的工作。
var variable = 'x01';
//vm - is object of my view model.
vm[variable] = ko.observable(24.8);
vm["+variable+"_conversion"] = "X * 10 - 248";
vm[""+variable+"_computed"] = ko.computed(function() {
val_ac = vm[variable]();
ac = vm[""+variable+"_conversion"];
var X = val_ac;
return eval(ac);
},vm);
更新型号:
vm[variable] = 25;
因为,我的所有观点都是自定义处理程序。我的数据如下:
value = vm[""+variable+"_computed"]();
但是,这里我使用两个变量(虽然第二个不会保存数据但功能)。如何将上述三个变量合并为一个?
可能是这样的;
vm[variable] = ko.computed(function(X){
var ac="X * 10 - 276";
return eval(ac);
},vm);
vm[variable](26); // --this should set data to model and trigger observers
val = vm[variable]; // --this should get data to set to view
欢迎任何其他更好的可能性或改进建议!
修改:添加Fiddle Link
上述链接中的我的问题如下:
如何仅对数据持有者和计算使用一组变量(var1,var2 / var1_computed,var2_computed)并避免使用多个变量。
在小提琴例子中可能没什么区别。我的应用程序逻辑处理1600个变量,这些变量将以10秒的间隔更新。所以,我应该对内存消耗做出谨慎的改变。