Z Knockout 2,0 stosując te dane-wiązania:Parametry Knockout 2.0 z bindowania w niepoprawnej kolejności?
data-bind="click: $root.deleteSomeEntity.bind($data, $parent)"
w viewmodel Knockout JavaScript pierwszy argument w
self.deleteSomeEntity = function (data, parent) {
// perform deletion
}
wydaje się być rodzicem niż dane.
Czy istnieje przyczyna takiego zachowania lub czegoś, czego mi brakuje?
Po swoimi sugestiami: http://jsfiddle.net/6MmWs/5/ jednak gdy kliknięcie Delete i funkcja 'self.deleteContactPhone = (viewModel, phone, contact)' viewModel to telefon, telefon to kontakt, a kontakt to także telefon. 'this' jest obecnie modelem viewmodel. – kendaleiv
Chciałbyś, żeby było bardziej jak: http://jsfiddle.net/rniemeyer/6MmWs/6/. Kilka rzeczy, o których warto wspomnieć. 'remove' jest funkcją dostępną w obserwowalnymArray. Zmieniłem twoje tablice 'telefony' tak, aby były obserwowalne, abyś miał je" usuwać "i aktualizował interfejs użytkownika, gdy jeden został usunięty. –
Inną rzeczą jest to, że chcesz, aby twój podpis funkcji był po prostu funkcją (telefon, kontakt). Pierwszym parametrem "bind" jest cel, który służy do kontrolowania wartości 'this' przy uruchomieniu funkcji. Tak więc nie jest to w rzeczywistości argument dla funkcji. –