【问题标题】:Knockout JS - fetching data from server and rebinding - front-end performance problemsKnockout JS - 从服务器获取数据并重新绑定 - 前端性能问题
【发布时间】:2017-06-09 18:35:42
【问题描述】:

我有一个演示 application,其中我有一个数组,其中所有元素都是可观察的。在这个应用程序中,我有一个模拟来自服务器的调用的函数 - 获取绑定到列表的相同数组,但更改了一项。这是我实现它的方式:

this.serverDataSimulation=function(){
   aArray[Math.floor((Math.random() * 10) + 0)].name=Math.floor((Math.random() 
* 2000) + 1000);
    ko.mapping.fromJS(aArray, this.allItems);
}

aArray 是从服务器获取的数据的模拟,我使用 ko.mapping 将其绑定到列表。问题是这样整个列表会被重新渲染,而不是只更新一个项目。我仍然希望数组的所有元素在重新绑定之后和重新绑定之前都是可观察的。有没有办法解决这个问题或更好的实现?

【问题讨论】:

标签: javascript knockout.js data-binding


【解决方案1】:

试试这个:

this.serverDataSimulation=function(){
  var selectedItem = this.allItems()[Math.floor((Math.random() * 10) + 0)];
  selectedItem.name(Math.floor((Math.random() * 2000) + 1000));
}

http://jsfiddle.net/Jorgelig/GSvnh/5897/

【讨论】:

  • 对不起,您建议的代码只是更改随机项的名称,与“服务器返回”的数组无关。
猜你喜欢
  • 2014-11-03
  • 2016-04-08
  • 2015-09-30
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多