gpt4 book ai didi

javascript - 将 jQuery 事件函数应用于新的 Knockout.js 数组元素

转载 作者:行者123 更新时间:2023-12-03 10:48:08 24 4
gpt4 key购买 nike

我有一个 Knockout.js View 模型,其中包含 products 列表,它们由 ASP.NET Web API 调用填充:

// Define viewmodel
var myViewModel = {
products = ko.observableArray([]);
};

// Apply knockout bindings
ko.applyBindings(vm);

// Function that obtains product data
function listProducts(viewmodel) {
var productsQuery = "api/products/get";

// Send an AJAX request
$.getJSON(productsQuery).done(viewmodel.products);
}

当我打电话listProducts时,每个元素都成功添加到 ff 中。 HTML <ul> :

<ul data-bind="foreach: products">
<li class="item">
<data-bind="text: productName">
</li>
</ul>

但是,当添加每个项目时,适用于我的 .item 的 jQuery 函数元素:

$(".item").click(function () {
$(this).toggleClass("selected");
});

不会应用于这些新添加的元素。

问题:如何将元素添加到 Knockout.js observableArray 中,并且这些元素也将继承相应的 jQuery 方法?

最佳答案

基本上,您需要返回 knockout 文档并阅读、阅读、阅读!忘记用 jquery 来做这件事,这不是 ko 方式。 Knockout 将您从这种编码风格中解放出来,您只需理解它即可。

提示:

使用点击绑定(bind)和CSS绑定(bind)

http://knockoutjs.com/documentation/css-binding.html

顺便说一句,你也可以这样做:

 $.getJSON(productsQuery).done(viewmodel.products);

关于javascript - 将 jQuery 事件函数应用于新的 Knockout.js 数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28492077/

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