JSVIEW数据链接模板以维护UI上的x和y索引

时间:2018-12-16 11:18:09

标签: jquery asp.net-mvc jsrender jsviews

我在演示应用程序上使用JSView。在网页上,当我将模板重新链接到HTML div以获得最新值时。我想在HTML上维护x和Y索引。 当它执行模板的重新链接时,html会完全刷新,这使用户可以松开他们所在页面的x和y坐标。

非常感谢您。

$(document).ready(function () {
 window.setInterval( function(){
reLinkTemplateHtml();
}, 5000);}


 function reLinkTemplateHtml() {
 $.getJSON("/Demo/DemoAPI/GETDemoData", { _: new Date().getTime() 

}).done(function (json) {

  $.templates("#Demo-template").link("#result_wrapper", json);
                return true;
            }).fail();
}        

1 个答案:

答案 0 :(得分:2)

调用template.link("#result_wrapper", json)将完全重新呈现"#result_wrapper"元素的内容。

您的情况似乎涉及使用服务器上的json来呈现和链接浏览器中的HTML内容,并且也许客户端交互会触发浏览器中数据(json)的可观察到的更新,但除此之外还需要进行一些回合将json数据发送到服务器:也许将修改后的json发送回服务器,而且还从服务器获取更新的json,其中可能包括服务器端更新。

在这种情况下,如果要在获取修改后的json时在浏览器中进行增量更新(以避免替换所有HTML,从而能够维护用户状态),则只需观察可更新的客户端部分即可被修改的json。实际上,您需要在当前json和下载的更新之间进行“区别”。

JsRender和JsViews通过使用compiled View Models,特别是vm.merge(newJson)功能,为该方案提供了支持。

另请参阅其他相关的JsRender / JsViews文档主题,例如thisthis