是否有模板引擎可以在数据更改时更新 DOM?
Is there a template engine that updates the DOM when data is changed?
到目前为止,我尝试过的所有模板引擎(Handlebars、Underscore、Embedded)都需要您输入数据并将模板渲染到 HTML。但是,我的数据更新相当频繁,这导致页面在重新构建布局时闪烁。
是否有支持更新 DOM 而不是每次都重新创建的模板引擎?
React 是一种 "view framework",允许 DOM 根据您提供的任何数据重新呈现。
可以写组件,当state改变时(即属于组件的数据),组件会重新渲染。
这基本上意味着布局是数据的函数。
我会看一看 Getting Started (React)。有很多可用的教程。
请注意,React 仅处理 "view" 层。您必须决定数据流如何发生。作为起点,我会查看开始流行的 Redux。
Is there a template engine that supports updating the DOM instead of recreating it every time?
在幕后,React 并不总是需要重新渲染整个 DOM。它在内存中持有 DOM 的虚拟表示(称为虚拟 DOM),查看数据,实际 DOM 和虚拟 DOM,以及决定实际需要重新渲染的内容。
正如@Josh Beam 所说,React 是一种 "view framework"。但它不是模板引擎。也许 Vdt is the one is wanted. It is based on virtual-dom,因此无需每次都重新创建整个 DOM 即可进行更新。
像下面这样的片段:
<div>Hello {name}!</div>
var vdt = Vdt(template);
vdt.render({name: 'World'});
// then update
vdt.data.name = 'Vdt';
vdt.update();
到目前为止,我尝试过的所有模板引擎(Handlebars、Underscore、Embedded)都需要您输入数据并将模板渲染到 HTML。但是,我的数据更新相当频繁,这导致页面在重新构建布局时闪烁。
是否有支持更新 DOM 而不是每次都重新创建的模板引擎?
React 是一种 "view framework",允许 DOM 根据您提供的任何数据重新呈现。
可以写组件,当state改变时(即属于组件的数据),组件会重新渲染。
这基本上意味着布局是数据的函数。
我会看一看 Getting Started (React)。有很多可用的教程。
请注意,React 仅处理 "view" 层。您必须决定数据流如何发生。作为起点,我会查看开始流行的 Redux。
Is there a template engine that supports updating the DOM instead of recreating it every time?
在幕后,React 并不总是需要重新渲染整个 DOM。它在内存中持有 DOM 的虚拟表示(称为虚拟 DOM),查看数据,实际 DOM 和虚拟 DOM,以及决定实际需要重新渲染的内容。
正如@Josh Beam 所说,React 是一种 "view framework"。但它不是模板引擎。也许 Vdt is the one is wanted. It is based on virtual-dom,因此无需每次都重新创建整个 DOM 即可进行更新。
像下面这样的片段:
<div>Hello {name}!</div>
var vdt = Vdt(template);
vdt.render({name: 'World'});
// then update
vdt.data.name = 'Vdt';
vdt.update();