【问题标题】:How to refresh the list in KnockoutJs after it is loaded first time?第一次加载后如何刷新 KnockoutJs 中的列表?
【发布时间】:2018-07-13 09:13:03
【问题描述】:
我正在显示数据列表,如下所示:
<div class="my-table" data-bind="if:(dataList() && dataList().length)">
//render data raw here...
我是 ko 的新手,希望在不重新加载页面的情况下刷新此列表,这是否可以通过淘汰赛实现?
我相信我可以使用 applyBindingsToNode 之类的方式将新项目添加到列表中,但我正在寻找一种方法来刷新整个列表,因为其中一个列上有一些刷新的数字。
【问题讨论】:
标签:
jquery
knockout.js
custom-component
knockout-3.0
knockout-binding-handlers
【解决方案1】:
您似乎不清楚Observable Arrays 的基础知识。
您可以通过将数组作为参数传递给dataList 分配一个新的数组值:dataList(['one', 'two', 'three']);
您可以使用大多数常用的数组更新函数来修改dataList 的内容:push、pop、shift、unshift、reverse 和 sort。还有替换和删除函数,它们不是标准的数组更新函数。
您使用这些方法对dataList 所做的任何更新都将反映在您的视图中,假设您评论的“在此处呈现原始数据”部分使用了dataList。