什么是模板以及如何在JavaScript中使用它?
#javascript #网络开发人员 #初学者 #前端

在编程和Web开发的背景下,templatingrefers以创建可重复使用的格式或布局以呈现一致的方式的过程。

Templates通常包括可以动态填充数据的占位符或变量,从而使相同的模板用于多个类似内容的实例。例如,在Web开发中,模板通常用于定义网页的结构和布局,其内容的占位符会根据所显示的页面而变化。

模板可用于各种编程语言和框架,它们对于创建动态网页或以一致格式生成报告特别有用。它们通过将演示层与业务逻辑和数据处理分开来帮助开发人员节省时间并确保一致性。

为什么要使用模板?

模板有几个重要目的,这是我们在JavaScript中使用模板的一些关键原因:

1。动态内容生成:模板使您可以通过将数据插入预定义的模板来创建动态的网页或用户界面。这对于经常更改数据的Web应用程序(例如社交媒体提要,电子商务产品列表或新闻文章)尤其重要。

2。关注点的分离:模板促进了数据与演示文稿之间的关注点。通过将HTML标记和JavaScript代码分开,可以更容易管理和维护代码。开发人员可以专注于模板的结构和逻辑,而数据可以独立操纵。

3。代码可重复使用:模板可以在Web应用程序的不同部分甚至在不同的应用程序中重复使用。这减少了代码重复并有助于保持用户界面的一致性。

4。改进的性能:模板引擎通常包括有效渲染内容的优化,与手动操纵DOM相比,这可能会导致更高的性能。模板发动机只能更新页面的部分,以最大程度地减少不必要的DOM操纵。

5。安全性:模板可以通过自动逃避或对用户生成的内容自动逃避或对其进行消毒之前的攻击,例如跨站点脚本(XSS)攻击,然后将其呈现在模板中。

>

6。可读性和可维护性:与使用串联生成HTML字符串相比,模板代码往往更可读性和可维护性。模板为表示预期的输出提供了清晰的结构。

7。可访问性:模板可用于确保生成的HTML包含适当的可访问性属性和语义元素,从而使Web应用程序更容易成为残疾用户。

有各种可用的JavaScript模板库和框架,例如手柄,小胡子,帕格,EJS等,每个都带有其自己的语法和功能。

示例:

这是如何使用handlebars.js模板库来创建和渲染简单模板的示例:

  • 首先,在您的项目中包括handlebars.js库:
<script    
src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.6/handleb ars.min.js">
</script>

  • 使用把手语法创建模板:
<script id="my-template" type="text/x-handlebars-template">
  <h1>{{title}}</h1>
  <p>{{description}}</p>
</script>

  • 使用车把编译模板:
const template = Handlebars.compile(document.querySelector('#my-template').innerHTML);

  • 定义一些数据以填充模板:
const data = {
  title: 'My Template',
  description: 'This is a Handlebars template example.'
};

  • 将模板与数据渲染:
const renderedTemplate = template(data);
document.querySelector('#output').innerHTML = renderedTemplate;

在此示例中,我们创建了一个简单的车把模板,其中包含两个数据占位符:{{title}}{{description}}。然后,我们使用Handlebars.compile编辑了模板,定义了一些数据以填充模板,最后使用编译模板函数渲染了模板。

然后将渲染模板插入html文档中的ID“输出”的元素。

这是演示代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.7.6/handlebars.min.js"></script>
  </head>
  <body>
    <div id="output"></div>
    <script id="my-template" type="text/x-handlebars-template">
      <h1>{{title}}</h1>
      <p>{{description}}</p>
    </script>

    <script>
      const data = {
        title: "Endeavour Monk",
        description: "Please like ❤️ this article and follow for more contents",
      };
      const template = Handlebars.compile(
        document.querySelector("#my-template").innerHTML
      );
      const renderedTemplate = template(data);
      document.querySelector("#output").innerHTML = renderedTemplate;
    </script>
  </body>
</html>

Output

感谢您的阅读。