1
这是我第一次使用Knockout Mapping插件来直接从服务器的JSON创建我的viewmodel。最初的一组数据来自服务器,然后我轮询10秒的变化。此代码有效,但我觉得它不是非常干燥。Knockout Mapping初始化的最佳代码
我已经看遍了所有的更好的例子,但没有任何运气。我怎样才能避免在两个不同的地方调用getJSON?
在我的客户scripts.js中的文件:
function CustomerRefresher(id) {
var viewModel;
$.getJSON('/ApiCustomer/Get/' + id, function (data) {
viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
setTimeout(refresh, 10000);
});
var refresh = function() {
$.getJSON('/ApiCustomer/Get/' + id, function (data) {
ko.mapping.fromJS(data, {}, viewModel);
});
setTimeout(refresh, 10000);
}
}
在我的.cshtml文件:
$(function() {
CustomerRefresher(@Model.Id);
});