模板引擎值art-template_art-template.js json循环-程序员宅基地

技术标签: javascript  开发语言  ecmascript  模板方法模式  

     art-template可以说是模板引擎中非常重要之存在了,不仅因为它的功能强大,还因为他容易入手,新手也可以轻松的理解,并且写出自己想要的效果。接下来由我简单介绍一下art-template的用法,在文章的末尾我会用一个art-template结合ajax做一个简单的搜索功能,来帮助小伙伴们更好的理解一下它的使用方法。如果有错误的话,希望大家多多指正。

一、安装art-template

 1.  如果你已经下载了nodejs,你可以通过终端输入命令npm install art-template --save 即可下载

    如果你没有安装node也没有关系,可以直接下载,下方附上下载地址:     https://unpkg.com/art-template/lib/template-web.js

2.通过<script src=""></script>引入art-template文件

二、使用art-template

准备工作做完了,现在来介绍一下art-template的简单语法,标准语法支持基本模板语法以及基本 JavaScript 表达式,

1.在模板语法当中 输出数据 需要使用 { {}}

<div></div> 
<script id="template" type="text/html">
       
        {
   {mag}}

 </script>
 <script>
        var html = template('template', {
           
            mag:'ddsad'
            
        })

 document.getElementsByTagName('div')[0].innerHTML = html

</script>

2.其中的变量都是由外部调用template方法传递进去的,其实这点很好理解,当我们写模板的时候,需要给模板添加一个id值,在script标签中,当我们想要使用template的时候就可以直接通过template方法调用,具体的使用方法template('id的名字',{

           想要传入该模板中的数据

})

  <script id="template" type="text/html">
      {
   {data}}
    </script>
   
    <script>
      
        var tt=template('template',{
            data:6
        })

    </script>

3.在模板引擎中的循环语句还有条件语句都需要有闭合

在art-template中的循环可以直接使用{ {each 循环对象}}

  <script id="template" type="text/html">
     
       {
   {if data > 5}}
        <h2>这是大于5的</h2>
        {
   {else}}
        <h2>这是小于5的</h2>
        {
   {/if}}

    </script>
 <script id="template" type="text/html">
        {
   {each data}}
        <h2>{
   {$index}}</h2>
        <h3>{
   {$value}}</h3>
        {
   {/each}}
 </script>

4.是我认为最重要的一点,千万不要忘记把你想要使用的模板从原html结构中抽离出来,可能很多人不理解这句话,在下面我会具体介绍。

三、英雄搜索案例 

下面就是案例时间啦。这个案例是结合ajax,通过访问后端接口来拿到数据,通过模板引擎显示在页面上。

<!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>
</head>

<body>
    <div>
        <!-- 模板位置 -->
        <div class="content"></div>
    </div>

    <script src="./template-web.js"></script>
    <script id="temp" type='text/template'>
        <input type="text" placeholder="按下回车查询英雄">
        <h2>{
   {name}}</h2>
        <span>名称</span><span class="name">{
   {title}}</span><br>
        <span>外号</span><span class="wname">{
   {name}}</span><br>
        <span>介绍</span><span class="jianjie">{
   {story}}</span>
        <img src={
   {bg}} alt="">
    </script>
    <script>
        /*
         英雄信息
         请求地址:https://autumnfish.cn/api/hero/info
            请求方法:get
            请求参数:name
        */
     document.querySelector('input').onkeydown = function (e) {
        //按下的按键如果是回车,就进行搜索功能
         if (e.keyCode == 13) {
                var xhr = new XMLHttpRequest()
                xhr.open('get', 'https://autumnfish.cn/api/hero/info?name=' + this.value)
                xhr.send()
                xhr.onload = function () {
                    //转化成对象模式
                    var str=JSON.parse(xhr.response)
                    console.log(str);

                    var tt=template('temp',str)
                        //tt就是已经被转化成对象模式的数据
                    // console.log(tt);
                    document.querySelector('.content').innerHTML=tt
                }
            }
        }
    </script>
</body>

</html>

当然啦,这是一个比较简单的案例,里面并没有用到循环还有条件语句,剩下的就靠小伙伴自己探索啦

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_64105376/article/details/123544740

智能推荐

SQL Server超详细使用教程——从安装到编写SQL语句_sqlserver在哪里写sql语句-程序员宅基地

文章浏览阅读10w+次,点赞762次,收藏4.7k次。到微软官网下载SQL Server Developer版本,现在的最新版本是SQL Server 2019 Developer。微软官网传送门:点击此处直达下载完成之后,在文件夹中找到刚才下载的文件,双击打开,打开之后的界面如下图所示。我们选择自定义安装,之后再选择要安装的位置,再点击安装,如下图所示点了安装之后会出现如下图所示的界面,我们需要等待它下载安装包,此过程等待的时间可能较长..._sqlserver在哪里写sql语句

浏览器前端 javascript可以获取客户端的信息_浏览器获取客户端基本信息-程序员宅基地

文章浏览阅读1k次。var appName = navigator.appName; //浏览器的正式名称 var appVersion = navigator.appVersion; //浏览器的版本号 var cookieEnabled = navigator.cookieEnabled; // 返回用户浏览器是否启用了..._浏览器获取客户端基本信息

(最终)如何利用印象笔记搭建自己的知识体系_印象笔记建立个人知识体系-程序员宅基地

文章浏览阅读1k次。1、 为什么要记录笔记这个问题我印象中探讨过很多次,但是简单来讲就是方便日后在遇到相似问题时查询解决方式,并在记录笔记的过程汇总中对知识进行一轮新的复习。这样一生,如果作为一个技术人员来讲的话,我不可能只学习一门技能,需要学习的东西很多。当只会一门技能时,做不做笔记其实无所谓,但是当你学会多种技能时,你需要笔记这样一个第二大脑来帮助存储那些琐碎并不通用的知识,你自己的大脑来记忆通用性的知识,可以迁移的方法。在遇到问题时,知道做什么永远比怎么做更重要。1.1 知识的分类1.1.1 元认知解释:能指导_印象笔记建立个人知识体系

FATFS文件系统详解-程序员宅基地

文章浏览阅读2.7k次,点赞13次,收藏96次。随着硬盘/flash容量不断增大,存储的数据也越来越多,早期单一的对应地址存放对应数据的方案已经无法满足我们的需求,因此一群大佬们便开始设计文件系统这样一个东西,用来管理硬盘/flash上的数据信息。本文主要分享关于FAT文件系统的详细设计。通过对FAT文件系统组成介绍,字段分析并采用新增文件实践分析的方式,详细阐述FAT文件系统的工作原理!_fatfs

【企业架构师】12 项企业架构师认证-程序员宅基地

文章浏览阅读3k次,点赞2次,收藏7次。企业架构师是使 IT 战略与业务目标保持一致的重要且不断增长的角色。无论您对云、应用程序、软件还是系统感兴趣,企业架构认证都可以提升您的职业生涯。如果您计划从事企业架构师 (EA) 的职业,那么认证是验证您的 EA 技能的好方法。作为 EA,您将负责为企业制定 IT 战略,以使业务目标与 IT 目标保持一致。公司严重依赖技术,因此 IT 现在是任何强大业务战略的基础部分。..._企业架构师认证

如何构建一个自己的代理ip池_如果制作代理ip池-程序员宅基地

文章浏览阅读5.9k次,点赞2次,收藏29次。相比前两种搭建IP池的方法来说,付费代理IP更能满足用户的需求,但对于有些特殊要求的朋友来说,他们想一次提取很多个或者多次提取很多个,存放在本地建立的IP池里,这种方法在一定的程度上优化了方案。只不过长期下来的话,服务器的维护成本较高,并且需要定时的维护,消耗大量的时间,如果是个人的话,搭建起来后期维护的成本太高了,如果您不是高端玩家的话,不建议使用这种方式搭建IP池。相对于免费的代理IP来说,收费代理IP虽然需要付出一定的成本,但是IP资源都是真实IP,并且高匿性,稳定性也好。一、默认自动切换IP。..._如果制作代理ip池

随便推点

ANSYS错误提示:An unknown error occurred during solution. Check the Solver Output on the Solution ...-程序员宅基地

文章浏览阅读1.6w次。An unknown error occurred during solution. Check the Solver Output on the Solution Information object for possible causes._an unknown error occurred during solution. check the solver output on the so

VUE项目里配置eslint less-程序员宅基地

文章浏览阅读1.8k次。VUE项目里配置eslint lessless安装 less 和less-loader ,npm install less less-loader --save**修改webpack.base.config.js文件,配置loader加载依赖,让其支持外部的less,在原来的代码上添加 // 此种方法在控制台中标签样式显示的是style标签样式{ test: /\.less$/, loader: "style-loader!css-loader!less-loader",}_eslint less

SpringSecurity6 | 核心过滤器-程序员宅基地

文章浏览阅读1.4w次,点赞27次,收藏21次。大家好,我是Leo哥,上一节我们通过源码剖析以及图文分析,了解了关于委派筛选器代理和过滤器链代理的原理和作用。这节课我们接着学习SpringSecurity的过滤器,了解SpringSecurity中都有哪些核心过滤器。好了,话不多说让我们开始吧。以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。

面试ASP.NET程序员的笔试题和机试题-程序员宅基地

文章浏览阅读128次。面试 一般会叫你填两个表 1个是你的详细信息表 1个是面试题答卷 两个都要注意反正面是否都有内容不要遗漏,如果考你机试一般也有两种,就是程序连接数据库或一些基本的算法(二分查找,递归等),公司一般都是测试你的基本功是否扎实,如果你基本功好就游刃有余不必紧张! asp.net面试题 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX()..._.net面试机试题

【二、大数据环境篇】001、方法论_方法论semma-程序员宅基地

文章浏览阅读405次。1、官网的文档无论是学习Hadoop的hdfs、hive,还是hbase等,都要非常看重官网的文档。大数据的很多框架,都是Apache的顶级项目,各个组件框架的官网链接都可以从下面的链接进入:Hadoop:http://hadoop.apache.org/Avro: 序列化系统HBase: 分布式数据库Hive: 数据仓库Mahout: 机器学习与数据挖掘库Pig: 并行计算的高级数据..._方法论semma

LDA算法的数学推导过程详解-程序员宅基地

文章浏览阅读411次,点赞8次,收藏21次。主题模型是自然语言处理和文本挖掘领域的一个重要研究方向,它可以自动发现文档集合中潜在的主题结构。其中,潜在狄利克雷分配(Latent Dirichlet Allocation, LDA)是最常用和最成功的主题模型之一。LDA是一种无监督的贝叶斯概率模型,能够有效地发现文档集合中隐藏的主题结构。LDA模型的核心思想是:每个文档可以表示为多个主题的概率分布,每个主题又可以表示为词语的概率分布。通过学习这些潜在的主题分布和词语分布,LDA模型可以发现文档集合中蕴含的语义主题信息。

推荐文章

热门文章

相关标签