我有一个 Knockout 可观察数组,我希望从 Javascript 和 HTML 中编辑它。这是我的代码:
var ListModel = function(formula) {
var self = this;
self.formula = ko.observableArray(formula);
this.mergeEquation = function(op) {
if (op.type == "ins") {
self.formula.splice(op.position, 0, op.value);
} else if (op.type == "del") {
self.formula.splice(op.position, 1);
} else {
console.info("No match: " + op.value + op.position);
}
};
};
我的变量op
是一个 JSON 字符串。我知道如何mergeEquation
使用 HTML 数据绑定调用该函数,但是如何在同一个 JS 文件中调用该函数?我当前的代码是这样的:
ko.applyBindings(new ListModel(formula));
//...
//initializing of JSON object called op
//...
if (something) {
mergeEquation(op);
}
但它不起作用。我在这里错过了一些步骤吗?我已经阅读了函数和扩展器,但对于我在这里尝试做的事情来说,两者似乎都太过分了。
PS:这是我正在使用的 JSON 结构的示例:
{"type":"ins", "clientID":1223, "version":0, "value":"hi", "position":0, "id":2736}