2013-11-20 81 views
0
vm.patientList(datacontext.patientNames()); 
var patientsForClient = vm.patientList.remove(function (patient) { return patient.ClientId == vm.newCase().ClientId() }); 
vm.patientList(patientsForClient); 

patientList和patientNames是兩個可觀察陣列。當我從patientList中刪除項目時,我發現同樣的項目也從patientNames中刪除。從一個可觀察陣列移除項目影響另一個可觀察陣列

回答

1

這是由於兩個數組都指向相同的底層數組。您不需要傳遞參考,而需要克隆數組,然後根據克隆的進行相應的操作。

vm.patientList(datacontext.patientNames.slice(0)); 
+0

謝謝。這有幫助。 – user2585299