Knockout.js 淘汰视图模型功能不可访问

Knockout.js 淘汰视图模型功能不可访问,knockout.js,Knockout.js,这正在起作用。下面是此代码的修改版本。 var data=$.getJSON(“URL”,null,函数(结果){ 谢谢, JSHunjan这一行可能就是问题所在 viewModel.notes.remove(this); 此指向当前函数,因此删除函数不知道删除什么 如果您正在使用单击绑定(我假设您这样做),那么实际的注释将传递给函数,这应该是您的解决方案(未测试)。我添加了注释变量 removePerson: function (note) { $.ajax({

这正在起作用。下面是此代码的修改版本。 var data=$.getJSON(“URL”,null,函数(结果){

谢谢,
JSHunjan

这一行可能就是问题所在

viewModel.notes.remove(this);
指向当前函数,因此删除函数不知道删除什么

如果您正在使用
单击
绑定(我假设您这样做),那么实际的注释将传递给函数,这应该是您的解决方案(未测试)。我添加了
注释
变量

   removePerson: function (note) {
        $.ajax({
            url: "URL",
            type: "POST",
            success: function () {
                viewModel.notes.remove(note);
            }
        })
    }

阅读此处的文档:

感谢您的快速回复。我尝试了此操作,但没有成功。以下是我在firefox中收到的错误。错误:无法解析绑定。消息:ReferenceError:removePerson未定义;绑定值:单击:removePerson@JSHunjan您可能正在
foreach:notes
binding body.Curren中的元素中使用它t context将是一个
notes
元素,而不是您的整个模型。请尝试
单击:$parent.removePerson
。此外,如果您必须编写
$('#txtNote').val()之类的内容,那么使用Knockout有什么意义
?只需使用
绑定即可。是的,您必须使用
$parent.removePerson
$data.removePerson
。不仅仅是removePerson此问题现已修复,我已相应地修改了我的问题。我不确定如何将此问题标记为已修复。请关闭此问题。
   removePerson: function (note) {
        $.ajax({
            url: "URL",
            type: "POST",
            success: function () {
                viewModel.notes.remove(note);
            }
        })
    }