Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 换耳环?_Javascript_Html_Knockout.js_Data Binding - Fatal编程技术网

Javascript 换耳环?

Javascript 换耳环?,javascript,html,knockout.js,data-binding,Javascript,Html,Knockout.js,Data Binding,我发现这个问题与我的问题相似- 我还有一个问题-如果我用新内容替换observableArray的所有元素,这是否也会反映在UI中 这是一个场景:我有一个html文件,其中显示了一个表格的全部内容。这是我的js代码片段,它获取js和html- var 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,

我发现这个问题与我的问题相似-

我还有一个问题-如果我用新内容替换
observableArray
的所有元素,这是否也会反映在
UI

这是一个场景:我有一个
html
文件,其中显示了一个
表格
的全部内容。这是我的
js
代码片段,它获取
js
html
-

var 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}?**

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


在你的问题中,数组是可观察的,它的内容不是。如果更改数组的元素,则不会更新UI。如果添加/删除元素,则会更新UI。这里有更多的信息:是的。我的目的是删除数组的所有内容并放置新内容,并确保新内容反映在UI中。-1在OP的示例中,var
表的值被覆盖,并且不会更新UI。在你的回答和摆弄中,这些值被注入到可观察对象中,用户界面也被更新。这是一个重要的区别。如果有人只是简单地读了OP的例子和你的“是”,他们就会得出错误的结论。
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);
  }
}