保留元素的JS模板引擎

菲利普

我有以下问题:

有一个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>

模板引擎<span>在原始DOM中找到,并替换其更改后的值,但其余元素保持不变。

菲利普

最后,我遇到了Rivets.js,它是一个具有实时数据绑定功能的轻量级,高度可扩展的JavaScript模板引擎。到目前为止,我一直很喜欢,这正是我所需要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

node.js中的json模板引擎

来自分类Dev

在js页面中使用速度模板引擎

来自分类Dev

node.js中的json模板引擎

来自分类Dev

在刀片模板引擎中编写 JS 代码

来自分类Dev

如何使指令模板保留元素内容?

来自分类Dev

Twig模板引擎中具有多个元素的Foreach循环

来自分类Dev

我可以在Typeahead.js中更改模板引擎吗?

来自分类Dev

如何更改node.js项目的模板引擎?

来自分类Dev

节点JS:如何在krakenjs中设置模板引擎

来自分类Dev

Swig模板引擎和Sails.js-如何更改tagControls

来自分类Dev

Node.js&Express:用于纯HTML代码的模板引擎

来自分类Dev

是否可以在Sails.js中使用多个模板引擎?

来自分类Dev

在我自己的js模板系统/引擎中使用jquery选择

来自分类Dev

express.js模板引擎中的循环和布局支持

来自分类Dev

Node.js和Swig模板引擎-包括模板内部的模板

来自分类Dev

WebStorm速度模板引擎

来自分类Dev

mootools javascript模板引擎

来自分类Dev

模板引擎禁用PHP

来自分类Dev

模板引擎禁用PHP

来自分类Dev

模板引擎重构

来自分类Dev

与模板引擎反应

来自分类Dev

了解JS引擎如何循环获取数组元素的索引

来自分类Dev

WordPress主题开发-模板引擎

来自分类Dev

jQuery内部的Volt模板引擎

来自分类Dev

Django模板引擎的错误检查?

来自分类Dev

jQuery内部的Volt模板引擎

来自分类Dev

前端和后端模板引擎

来自分类Dev

Razor 引擎:在 & 的模板中生成 &

来自分类Dev

客户端模板引擎(Rivets.js)中的性能渲染缓慢