vm.patientList(datacontext.patientNames());
var patientsForClient = vm.patientList.remove(function (patient) { return patient.ClientId == vm.newCase().ClientId() });
vm.patientList(patientsForClient);
patientList和patientNames是两个可观察的数组。当我从patientList中删除项目时,我发现同样的项目也会从patientNames中删除。
答案 0 :(得分:1)
这是由于两个数组都指向相同的底层数组。您需要克隆数组,然后使用克隆的数据执行所需操作,而不是传递引用。
vm.patientList(datacontext.patientNames.slice(0));