从挖空可观察数组中调用函数
Calling function from within Knockout Observable Array
我有一个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 字符串。我知道如何使用 HTML 数据绑定调用 mergeEquation
函数,但是如何从同一个 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}
更改:-
ko.applyBindings(new ListModel(formula));
自
var vm = new ListModel(formula);
ko.applyBindings(vm);
所以,现在 VM 是你可以调用合并方程的东西
vm.mergeEquation(op)
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量