我有两个项目只有在给定的observable计算结果为false时才可见,而一个项目在同一项目的计算结果为true时应该是可见的。如果我只有两个可见性取决于可观察量的项目,它工作正常。但是,当引入第三个项目时,它将停止工作。
视图模型:
var viewModel = {
editable: ko.observable(false),
edit: function () {
this.editable(true);
},
delete: function () {
this.editable(true);
},
cancel: function () {
this.editable(false);
},
save: function () {
this.editable(false);
}
};
ko.applyBindings(viewModel);
这里有一个小提琴:http://jsfiddle.net/mupersan82/Y6eKS/10/
小提琴正在发挥作用。取消注释其中一个“按钮”项以查看问题。
任何人都可以确定问题所在吗?
问候,安德斯
答案 0 :(得分:2)
delete
是一个Javascript运算符,因此是一个保留字(请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete)。重命名函数修复它:
var viewModel = {
editable: ko.observable(false),
edit: function () {
this.editable(true);
},
remove: function () {
this.editable(true);
},
cancel: function () {
this.editable(false);
},
save: function () {
this.editable(false);
}
};
ko.applyBindings(viewModel);