Knockout.js – ko.mapping.fromJS – 可见绑定未更新

我正在开发一个网站,每隔5秒更新页面上的值,它调用远程数据库并通过Get Json调用返回MVC模型,并调用

viewModel = ko.mapping.fromJS(model)

然后我使用另一个Get调用每隔5秒更新一次该视图模型,然后调用此映射调用

  viewModel = ko.mapping.fromJS(model, viewModel). 

我的HTML元素上的绑定是正确的,因为从数据库中检索的原始模型显示在屏幕上,但是当模型上的IsVisible属性没有发生时,即表行应该设置为不可见,另一个应该设置可见。

在每次更新时,模型应该是不同的,行设置为可见或不可见以及其他跨度的文本更新,此部分正常工作,并且页面上显示更新,只是可见性不会更改。

HTML使用更新调用的Javascript来发挥可见的不可见问题。

模型中的所有变量都被正确调用我不能为公众发布模型。

 
var viewModel; var self; var getUpdates = setInterval(function () { $.getJSON( "/Home/Get", {}, function (model) { viewModel = ko.mapping.fromJS(model, viewModel); }); }, 5000); $(document).ready( function () { $.getJSON( "/Home/Get", {}, function (model) { viewModel = ko.mapping.fromJS(model); bindViewModel(); }); }); function bindViewModel() { ko.applyBindings(viewModel); }

我发现在更新viewmodel时有时需要提供一个空映射:

 ko.mapping.fromJS(model, {}, viewModel); 

如果失败了,输出selections.IsVisible的值selections.IsVisible并确保它的格式可以解析为true或false。