【发布时间】:2013-04-10 00:12:06
【问题描述】:
我正在使用 Knockout 创建一个使用来自 json 对象的数据进行评估的方程式
var EqunCreated = ["Salary", "Tax", "Gross_Salary"];
$.each(EqunCreated, function (index, lhs) {
var Equation = "self." + lhs + "=ko.computed(function(){ return self.Eqn() && eval(self.Eqn()).toFixed(2); })";
console.log(eval("self." + lhs + "=ko.computed(function(){ return self.Eqn() && eval(self.Eqn()).toFixed(2); })"));
console.log(lhs);
});
我在这里遇到了问题。报错
function h(){if(0<arguments.length)return"function"===typeof v?v.apply(d,arguments):j(Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.")),this;n||g();b.r.Wa(h);return l}
但是,如果我评估 self.Eqn(),我会得到正确的答案。
如何解决这个问题?
【问题讨论】:
-
@dreamweiver:这是问题所在。请阅读
-
您没有显示错误。您正在显示一段代码。
-
function h(){if(0
-
是的。这是因为您正在控制台记录该功能。这不是错误。 .computed 返回一个新函数。您正在将其写入控制台。
标签: javascript jquery json knockout.js eval