Cliquez sur la liaison de parent fonction foreach

J'ai le code html suivant:

<div data-bind="foreach: Contacts">
   <a data-bind="click: $parent.Foo($data), text: Name">link</a>
</div>
<button data-bind="click: AddContacts">click</button>

et code js:

var viewModel = ko.mapping.fromJS({"Selected":null,"Contacts":[]});
viewModel.AddContacts = function(){
    this.Contacts([{"Name":"C1"},{"Name":"C2"}]);
}

viewModel.Foo = function (contact) {
    alert(contact.Name);
}

ko.applyBindings(viewModel);

Lorsque je clique sur le bouton, le Foo est appelée pour chaque contact. Je n'ai pas s'attendre à être appelé à tout jusqu'à ce que le lien est cliqué.

OriginalL'auteur filip | 2012-12-10