迄今为止我尝试过的所有模板引擎(Handlebars,Underscore,Embedded)都要求您输入数据并将模板呈现为HTML。但是,我的数据更新频率很高,这会导致页面在布局重建时闪烁。有数据更改时更新DOM的模板引擎吗?
是否有支持更新DOM而不是每次都重新创建的模板引擎?
迄今为止我尝试过的所有模板引擎(Handlebars,Underscore,Embedded)都要求您输入数据并将模板呈现为HTML。但是,我的数据更新频率很高,这会导致页面在布局重建时闪烁。有数据更改时更新DOM的模板引擎吗?
是否有支持更新DOM而不是每次都重新创建的模板引擎?
React是一种“视图框架”,它允许DOM根据您提供的任何数据重新呈现。
您可以编写组件,当状态发生更改(即属于组件的数据)时,组件将重新呈现。
这意味着基本上布局是数据的功能。我想看一下Getting Started (React)。有很多教程可用。
请注意,React只处理“查看”图层。您必须决定如何让数据流发生。作为一个起点,我会看看Redux,它开始流行起来。
是否有模板引擎支持更新DOM,而不是每次重新创建它?
在引擎盖下,React并不总是重新呈现整个DOM。它拥有内存中DOM的虚拟表示(称为虚拟DOM),查看数据,实际DOM和虚拟DOM,并确定实际需要重新渲染的内容。
正如@Josh Beam所说,React是一种“视图框架”。但它不是模板引擎。也许Vdt是一个被通缉。它基于virtual-dom,因此可以在不重新创建整个DOM的情况下进行更新。
片段像波纹管:
<div>Hello {name}!</div>
var vdt = Vdt(template);
vdt.render({name: 'World'});
// then update
vdt.data.name = 'Vdt';
vdt.update();