gpt4 book ai didi

knockout.js - Knockout - 事件似乎在页面加载时触发?

转载 作者:行者123 更新时间:2023-12-02 08:46:52 24 4
gpt4 key购买 nike

我有一个 ViewModel,它有一个像这样的下拉列表:

<select data-bind="options: orderDropdown,
value: selectedOrder,
optionsCaption: '---',
event: { change: loadOrderDetails }">
</select>

然后 loadOrderDetails 设置如下:

// loads details of selected order
self.loadOrderDetails = function () {
$.ajax({
url: "/api/OrderDetails",
data: { id: self.selectedOrder() },
type: "GET",
success: function (data) {
self.orderDetails(data);
}
});
}

问题是,这个事件似乎在页面加载时触发,就像我在控制台中看到的那样:

获取 http://localhost:52559/api/OrderDetails 400(错误请求)

知道如何防止它在页面加载时触发吗?

最佳答案

我对 knockout options 绑定(bind)的经验是,如果它没有定义值,它将在加载时触发更新。

因此,如果“selectedOrder”只是一个没有值的 ko.observable(),那么它将把它的值设置为“orderDropdown”数组中的第一项。这将导致您的更改事件触发。

关于knockout.js - Knockout - 事件似乎在页面加载时触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11835047/

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