Jquery 使用knockout.js绑定表如何清除
我试图使用从web服务获得的数据,使用knockout.js绑定下表。一般情况下可以工作,但我想解决3个问题:Jquery 使用knockout.js绑定表如何清除,jquery,ajax,knockout.js,Jquery,Ajax,Knockout.js,我试图使用从web服务获得的数据,使用knockout.js绑定下表。一般情况下可以工作,但我想解决3个问题: 当我调用AJAX并返回数据时,我需要在ko.applyBindings(msg)之前清除表。现在它只是不断地添加 我有100个测试对象,添加了200/300后,速度越来越慢。我估计这个表可能包含300条记录。。编辑实际上,它似乎为每行创建了另外100行。所以,第一次调用100行,第二次调用10000行 为了绑定,我必须指定第一行。它在页面加载时显示,如何清除这一行 HTML: 首先,在
ko.applyBindings(msg)之前清除表代码>。现在它只是不断地添加
首先,在使用Knockout时,您应该将调用
ko.applyBindings()
一次作为目标。初始化视图模型后,您将采取操作该模型的操作,允许Knockout的双向绑定动态更改您的UI
这里有一个小提琴示例,它模拟了我认为您正在尝试的操作。它初始化视图模型,进行AJAX调用以加载前100行,然后允许用户单击刷新以重新加载
ko.applyBindings()
if
绑定禁用表呈现<table id="mainTable" class="paddedTable" data-bind="if: data().length > 0">
这将仅在数据包含元素时呈现表
function onRefreshButtonClick() {
$.ajax({
type: "POST",
url: "/Customer/TrackShipment.aspx/GetShipments",
data: "{ dateFrom: '" + $("#FromDateTextBox").val() + "', dateTo: '" + $("#ToDateTextBox").val() + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var a = msg.d;
ko.applyBindings(msg);
//
}
});
}
<table id="mainTable" class="paddedTable" data-bind="if: data().length > 0">