knockout.js – knockout将viewmodel重置为原始数据

将knockout viewmodel重置回原始数据的最佳方法是什么?

如果原始数据json没有改变,在我对observable进行一些更改之后,我该如何设置它?就像刷新页面一样.

最佳答案 我认为“刷新”你的viewModel是不好的做法.你可以像这样刷新它:

ko.cleanNode(document.getElementById("element-id"));
ko.applyBindings(yourViewModel, document.getElementById("element-id"));

但是我觉得在你的视图模型上有一个名为“reset”的方法更清晰,它会将你的observable设置回初始状态.也许是这样的:

function MyViewModel() {
  this.something = ko.observable("default value");
  this.somethingElse = ko.observable(0):

  this.reset = function() {
    this.something("default value");
    this.somethingElse(0);
  }
}
点赞