模板引擎,数据绑定之间的关系是什么?什么时候用哪个?

时间:2016-02-19 05:59:23

标签: angularjs data-binding reactjs template-engine

最近我遇到了模板引擎的概念。

如果我使用angular or react,则两个框架都使用以下语法提供某种数据绑定功能:{{ xxx }}

  1. 这是否意味着现代javascript框架废弃了模板引擎的使用?
  2. 或者数据绑定可以工作的事实是因为这些框架已经包含了他们自己的模板引擎实现,毕竟,它仍然是一些模板引擎在幕后工作?
  3. 何时使用专用模板引擎,例如:handlebars, ejs, mustache

  4. 客户端模板引擎和服务器端模板引擎之间的区别是什么?

1 个答案:

答案 0 :(得分:0)

首先,我们需要了解模板引擎,数据绑定,客户端数据绑定的要求,然后讨论您的问题。

1)模板引擎(也称为模板处理器或模板解析器)是设计用于将一个或多个模板与数据模型组合以产生一个或多个结果文档的软件。 Source

2)模板引擎是将程序逻辑和表示分成两个独立部分的工具。这使得逻辑和表示的开发更容易,提高了灵活性并简化了修改和维护。Source

通过上述讨论,我们了解数据绑定是模板引擎完成的任务

现在回答你的问题:

是的,Angular是一个完整的UI呈现客户端框架。您可以将数据提供给它,它将呈现正确的HTML。在它上面,Angular是一个完全从任何服务器解耦的模板解决方案。

现在,客户端模板很受欢迎。但我们需要了解客户端模板的问题和好处。

1)通过客户端模板,我们可以节省大量的CPU时间,浪费数据绑定。并且这样在客户端浏览器上使用较少的任务,其中大多数情况下99%的CPU处于理想状态。这意味着改善响应时间。

2)用户浏览Angular网站。假设他使用的是移动浏览器,因为这是一个比较棘手的用例。让我们来看看这个用户浏览器中发生的一切。

浏览器下载HTML,CSS,图像,Angular和特定于站点的脚本。在下载之后,必须初始化Angular本身,即浏览器必须通过框架并启动所有JavaScript对象,以及在将数据和行为实际绑定到HTML元素时,框架将在以后需要的内容。

此步骤可能需要一些时间,特别是在移动浏览器上,这些浏览器的处理器速度较慢,内存比桌面浏览器少。

在这种情况下,我们可能会失去忠诚的用户群。

选择客户端模板引擎或服务器端模板引擎是关于需求和目标用户的。他们拥有什么样的设施以及您想要提供的最佳设施。您拥有的服务器的功能是什么。