【发布时间】:2014-03-26 16:41:22
【问题描述】:
这是我第一次使用 Knockout Mapping 插件直接从服务器的 JSON 创建我的视图模型。初始数据集来自服务器,然后我每 10 秒轮询一次更改。这段代码有效,但我觉得它不是很干。
我到处寻找更好的例子,但没有任何运气。如何避免在两个不同的地方调用 getJSON?
在我的 customer-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);
});
【问题讨论】:
标签: javascript knockout.js knockout-mapping-plugin