[英]JS templating engine that preserves elements
我有以下问题:
有一个Web应用程序,当数据更改时,我经常需要在该应用程序上更新用户界面。 数据由具有不同属性的项目列表组成。 因为这些项目的UI表示可能很复杂,所以我使用JS模板来呈现它们。 当它们更改时,我只需将DOM中的它们替换为表示其更新状态的HTML。
这种方法很简单,但是有几个问题:
所以我想知道是否有这么多的 JS模板引擎可以处理这种情况。 我正在考虑一种功能,该功能可以智能地匹配新渲染和旧渲染的元素,并且仅在真正更改内容时才更改内容。
我在想这样的事情:
旧的HTML
<div>
<h1>TV</h1>
<span>$250</span>
<a href="addtocart?id=123">Add to cart</a>
</div>
新的HTML
<div>
<h1>TV</h1>
<span>$260</span>
<a href="addtocart?id=123">Add to cart</a>
</div>
模板引擎在原始DOM中找到<span>
并替换其更改后的值,但其余元素保持不变。
最后,我遇到了Rivets.js ,它是一个具有实时数据绑定功能的轻量级,高度可扩展的JavaScript模板引擎。 到目前为止,我一直很喜欢,这正是我所需要的。
您可以尝试AngularJS
一个简单的例子: http : //jsbin.com/opayuf/4/edit
您可以查看这些示例是否可以满足您的要求http://tutorialzine.com/2013/08/learn-angularjs-5-examples/
HandleBarsJs可能是您所需要的,您可以参阅下面的讨论
Handlebars.js:使用部分模板,就像正常的完整模板一样
您还可以尝试基于HandlerBarsJs的Ember js,可以查看http://emberjs.com/guides/templates/handlebars-basics/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.