2016-03-03 77 views
0

迄今为止我尝试过的所有模板引擎(Handlebars,Underscore,Embedded)都要求您输入数据并将模板呈现为HTML。但是,我的数据更新频率很高,这会导致页面在布局重建时闪烁。有数据更改时更新DOM的模板引擎吗?

是否有支持更新DOM而不是每次都重新创建的模板引擎?

回答

1

React是一种“视图框架”,它允许DOM根据您提供的任何数据重新呈现。

您可以编写组件,当状态发生更改(即属于组件的数据)时,组件将重新呈现。

这意味着基本上布局是数据的功能。我想看一下Getting Started (React)。有很多教程可用。

请注意,React只处理“查看”图层。您必须决定如何让数据流发生。作为一个起点,我会看看Redux,它开始流行起来。

是否有模板引擎支持更新DOM,而不是每次重新创建它?

在引擎盖下,React并不总是重新呈现整个DOM。它拥有内存中DOM的虚拟表示(称为虚拟DOM),查看数据,实际DOM和虚拟DOM,并确定实际需要重新渲染的内容。

0

正如@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();