01-我为什么使用模板引擎

需求:
实现下面这段html结构,拿到数据后动态渲染html,这里数据比较多,因为数据多,结构复杂,才能体现出模板的威力。目标结构如下:

<div class="item_content">
            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg" alt="">
              <div class="cat_name3">曲面电视</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/5e38cf9e6e7c46a17fe1c597a883ae627977b296.jpg" alt="">
              <div class="cat_name3">海信</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/cece39bd7e9654c20043e4af71696e1f838d4a22.jpg" alt="">
              <div class="cat_name3">夏普</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/f62eba98423af3311487f3331c6798d8f099c893.jpg" alt="">
              <div class="cat_name3">创维</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/86832cc37db8474ac07853c835009f9873eaec89.jpg" alt="">
              <div class="cat_name3">TCL</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/41c169f14680b3ebf88b4a37ea09085ed731c985.jpg" alt="">
              <div class="cat_name3">PPTV</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/5c282c3ec283fbc092107f8c7b86f212365acdfa.jpg" alt="">
              <div class="cat_name3">小米</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/14291787e1f9f0215816048e813e4ec4fbb3dffe.jpg" alt="">
              <div class="cat_name3">长虹</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/de58455691bc7b85351055c220f1a5410ab15693.jpg" alt="">
              <div class="cat_name3">康佳</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/8b36730c09815e90de1f86664baef8690c89e979.jpg" alt="">
              <div class="cat_name3">三星</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/7643c31541df41da21c9e734bd2d9a18fed2a2aa.jpg" alt="">
              <div class="cat_name3">飞利浦</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/e8c76dd2bb103a620929bcb4ad5c5431d62418d3.jpg" alt="">
              <div class="cat_name3">索尼</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/5a46bef92bf32f0157b4d5a6d9a35ca8a5615aca.jpg" alt="">
              <div class="cat_name3">先锋</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/5fae60f2cc05c53eaf43075db7eb82bfc9bba9b4.jpg" alt="">
              <div class="cat_name3">家庭影院</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/5515d491f88587084e59aac50010458bb916ee17.jpg" alt="">
              <div class="cat_name3">音响</div>
            </a>

            <a href="javascript:;">
              <img src="http://119.29.204.94:8888/full/e65bab9fcb64c336a3f5fba3b2174fef41f12330.jpg" alt="">
              <div class="cat_name3">盒子</div>
            </a>
</div>

下面使用原生es6写法,会发现在渲染多个a标签时,需要重新定义一个函数。就会导致结构不清晰。写不下去了。(o(╥﹏╥)o)。部分代码如下:

//使用原生js
function render(){
    var a = `<a href="javascript:;">
             <img src="" alt="">
             <div class="cat_name3">${data.cat_name}</div>
          </a>`;

        
    // li开始渲染多个a标签,这时需要封装函数,显得结构不清晰
    var li = ` <li>
        <div class="item_title data-index="${index}">
            <span>${data.cat_name}</span>
            <span></span>
        </div>

        <div class="item_content">
            ${a}
        </div>
    </li>`;
}

最后不得已使用模板引擎,逻辑的都用{{}}包起来。结构与原始html基本相似。很优雅。(〃'▽'〃)。写法如下:

//使用模板引擎,art-template@4.12.2
 <li>
    <div class="item_content">
      {{each value.children item ind }}
      <a href="javascript:;">
        <img src="{{$imports.BaseURL}}{{item.cat_icon}}" alt="">
        <div class="cat_name3">{{item.cat_name}}</div>
      </a>
      {{/each}}
    </div>
</li>

<全文结束>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348

推荐阅读更多精彩内容