zoukankan      html  css  js  c++  java
  • 客户端使用模板引擎

    模板引擎的作用:使用模板引擎提供的模板语法,可以将数据和HTML拼接起来。

    使用npm安装的模板引擎是在服务器端使用的:npm install art0template --save

    浏览器端的模板引擎是需要下载template-web.js文件的,并且要引入到页面中。

    官方地址:https://aui.github.io/art-template/zh-cn/index.html

    使用步骤:

    ① 下载 art-template 模板弓引擎库文件,并在HTML页面中引入库文件 

    <script src="./js/template-web.js"></script>

    ② 准备art-template模板

    <script id="tpl" type="text/html">
        <div class="box"></div>
    </script>

    ③ 告诉模板引擎将哪一个模板和哪个数据进行拼接

    var html = template('tpl', {username: 'zhangsan', age: '20'});

    ④ 将拼接好的html字符串添加到页面中

    document.getElementById('container').innerHTML = html;

    ⑤ 通过模板语法告诉模板引擎,数据和html字符串要如何拼接

    <script id="tpl" type="text/html">
         <div class="box"> {{ username }} </div>
    </script>

    注意:

    • 客户端JavaScript不具备读取文件的能力,所以在客户端模板并不是一个单独的文件,而是HTML文件中的一段代码片段
    • 使用<script>标签包裹,<script>标签需要有一个id标识,因为可能有多个模板,需要使用id来区分
    • 在<script>标签内部写HTML语法,但是在<script>标签中,默认将其内部视为JS语法,所以写HTML语法不是特别方便,也没有提示信息
    • 为了解决这个问题,可以在<script>标签添加type属性,该属性为text/html,编辑器就会将<script>标签内部的代码当作HTML代码来解析了
    • 在<script>标签内部写的HTML代码实际上就是HTML模板。

    具体实现代码如下:

    <!-- 1. 将模板引擎的库文件引入到当前页面 -->
    <script src="/js/template-web.js"></script>
    
    <div id="container"></div>
    <!-- 2.准备art-template模板 -->
    <script type="text/html" id="tpl">
        <h1>{{username}} {{age}}</h1>
    </script>
    <script type="text/javascript">
        // 3.告诉模板引擎将那个数据和哪个模板进行拼接
        // 1) 模板id 2)数据 对象类型
        // 方法的返回值就是拼接好的html字符串
        var html = template('tpl', {username: 'zhangsan', age: 30});
        document.getElementById('container').innerHTML = html;
    </script>

    注意:引入模板引擎的路径是绝对路径,因为路径是相对于浏览器而言的,所以必须要写绝对路径,‘/’代表根目录。

    例如上面的例子中,template-web.js文件放在静态资源文件public下的js文件夹中,而public设为静态资源文件的根目录,所以引入的路径就为:"/js/template-web.js"

  • 相关阅读:
    [原创]利用Browser协议探测内网主机操作系统版本(无需端口无视防火墙)
    [EXP]Microsoft Windows 10 (Build 17134)
    [EXP]Microsoft Windows
    [EXP]Apache Spark
    [EXP]Adobe ColdFusion 2018
    [EXP]ThinkPHP 5.0.23/5.1.31
    [EXP]Cisco RV110W
    [EXP]Huawei Router HG532e
    [EXP]Microsoft Windows CONTACT
    [EXP]Microsoft Windows 10
  • 原文地址:https://www.cnblogs.com/zcy9838/p/13055158.html
Copyright © 2011-2022 走看看