Với Knockout 2.0 sử dụng dữ liệu này ràng buộc:Knockout 2.0 tham số từ ràng buộc theo thứ tự không chính xác?
data-bind="click: $root.deleteSomeEntity.bind($data, $parent)"
trong viewmodel Knockout JavaScript đối số đầu tiên trong
self.deleteSomeEntity = function (data, parent) {
// perform deletion
}
dường như là cha mẹ chứ không phải là dữ liệu.
Có lý do nào cho hành vi này hoặc điều gì đó tôi bị thiếu không?
Tiếp theo đề xuất của bạn: http://jsfiddle.net/6MmWs/5/ tuy nhiên khi nhấn Delete và chức năng 'self.deleteContactPhone = (viewModel, phone, contact)' viewModel là điện thoại, điện thoại là một số liên lạc, và số liên lạc cũng là một điện thoại. 'this' hiện là viewmodel. – kendaleiv
Bạn sẽ muốn nó giống như: http://jsfiddle.net/rniemeyer/6MmWs/6/. Một vài điều cần đề cập. 'remove' là một hàm có sẵn trên một ObservableArray. Tôi đã chuyển đổi các mảng 'điện thoại' của bạn thành có thể quan sát được, do đó bạn có' xóa' và cập nhật giao diện người dùng của bạn khi bị xóa. –
Điều khác là muốn chữ ký hàm của bạn chỉ là 'hàm (điện thoại, liên hệ)'. Tham số đầu tiên cho 'bind' là target, được sử dụng để kiểm soát giá trị của' this' khi hàm của bạn chạy. Vì vậy, nó không thực sự là một đối số cho hàm. –