我有一个包含一些数据记录的数组(来自我的后端,我正在检索这些数据)。
我正在使用此数组绑定网格。这是使用knockout.Js。
实现的我的最终数组绑定到网格:_results(commonData);
比如说:
function BindData() {
// Go to Backend . get the data and push it to _results.
}
这里的commonData是一个包含我后端数据的数组。 _results是一个可观察的数组。
以下是我的标记结构:
<tbody data-bind="foreach: results">
<tr>
<td data-bind="text: Emp ID"></td>
<td data-bind="text: Emp Status"></td>
<td data-bind="text: Emp Dept"></td>
<td data-bind="text: Emp Code"></td>
<td data-bind="text: Emp Address"></td>
<td data-bind="text: Emp Manager"></td>
<td data-bind="text: Emp Reporting Manager"></td>
</tr>
</tbody>
这非常有效。
我有一个行计数变量。
var _rowCount = 5;
现在:我只想一次显示5条记录(行)。 如果来自后端的记录超过5条,用户应点击&#34;查看更多&#34;我想调用My BindData()方法。 我应该每次从服务器获取数据。但我不应重新绑定现有数据。
如果总共有十条记录,我只会绑定5.点击查看更多应该获得接下来的五条记录并将其添加到。前五个应保持原样。
关于如何实施这一点的任何想法? 建议,欢迎举例。
非常感谢!!!!!
答案 0 :(得分:0)
你正在使用observableArray,所以你基本上写了自己的答案:
function BindData() {
// Go to Backend . get the data and push it to _results.
}
为你解决一下问题:
function BindData() {
var onSuccess = function(data){
for(var i=0; i<data.length);i++){
//just push each object onto the observableArray.
that.results.push(data[i]);
// you might need to map some stuff here to observable, maybe with the
// mapping plugin, but basically the same way you got your first 5?
}
}
$.post('get-next-5-url', 'data', onSuccess);
}