gpt4 book ai didi

knockout.js - 在 foreach 中单击绑定(bind)到父函数

转载 作者:行者123 更新时间:2023-12-04 02:46:07 29 4
gpt4 key购买 nike

我有以下html:

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

和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);

当我单击按钮时,每个联系人都会调用 Foo。在单击任何链接之前,我根本没想到会调用它。

最佳答案

nemesv说过。参数是函数引用。所以你正在做的是使用函数的结果作为点击事件。

您传递的对函数的调用将自动包含该项目的数据,因此您无需手动传递它:

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

http://jsfiddle.net/4cUv9/

关于knockout.js - 在 foreach 中单击绑定(bind)到父函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804705/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com