Knockout视图模型覆盖不起作用

时间:2016-06-14 11:54:17

标签: javascript knockout.js data-binding

我会尽量解释它。 我有一个单页面应用程序,它使用knockout.js将我的viewModel数据绑定到HTML。 当我使用AJAX提供新的HTML和新的data时会出现问题。

HTML被正确放置到页面上,数据绑定按预期工作,没有错误。但是,视图模型不会被覆盖,而是会添加新元素。例如:

//initial viewModel before AJAX call:
var viewModel = {
  someData: "dataFromInitialPage",
  secondData: "someMoreDataFromInitialPage"
}

//viewModel after AJAX call:
var viewModel = {
  someData: "dataFromInitialPage",
  secondData: "someMoreDataFromInitialPage"
  thirdData: "thisDataIsFromAJAX"
}

现在我正在使用ko.mapping.fromJS(data, model);来更新模型,我理解为什么会发生这种情况(或者我认为,模型正试图根据新数据更新自己)。但我需要的是使模型FORGET具有初始数据并在相同的变量上创建一组全新的数据。我不知道为什么它坚持保留新的HTML内容页面中不再使用的旧信息。

注意:变量实际上不是一个独立变量,它是一个对象的属性,如下所示:

var webApp = {
  viewModel: (this variable here),
  //some other properties are present here as well
}

0 个答案:

没有答案