替换observableArray?

时间:2017-07-14 06:22:14

标签: javascript html knockout.js data-binding

我发现这个问题和我的问题类似 - Replace all elements in Knockout.js observableArray

我还有另一个问题 - 如果我用新内容替换UI的所有元素,那么它是否会反映在html中?

以下是该方案:我有一个table文件,其中显示了js个完整内容。以下是我的js代码段,用于获取htmlvar table = ko.observableArray(); // {1,2,3,4,5} - UI shows 1,2,3,4,5 in the table // now I replace all the contents table = {6,3,8,9}; // **will the UI display the updated content, which is {6,7,8,9} in the table? Or will it still display {1,2,3,4,5}?** 之间绑定的数据 -

{{1}}

1 个答案:

答案 0 :(得分:1)

是的,因为它是一个可观察的,它也会更新UI。 见工作示例:

https://jsfiddle.net/fkxgk7rc/4/

var data = [1,2,3,4,5];
function viewModel() {
  var self = this;  
  self.myList = ko.observableArray(data); 

  self.addToList = function (listData) {
    for (var i = listData.length; i-- > 0;)
       self.myList.push(listData[i]);
  }

  self.replaceList = function (listData) {
      self.myList(listData);
  }
}