标签模板的使用案例

<body>

</body>
<script>
    let lessons = [
        { title: '媒体查询响应式布局', name: '李白' }, { title: 'FLEX 弹性盒模型布局', name: '小红' }, { title: 'GRID 栅格布局系统', name: '小花' }
    ];

    function template () {
        // 标签模板,要在返回的值中使用我们定义的标签模板函数links
        return `<ul>
      ${lessons.map((item) => links`
          <li>${item.title}作者是:${item.name}</li>
      `).join('')}
  </ul>`; //.join('')表示转化成字符串
    }
    function links (strings, ...abc) { //标签模板 传入两个参数,第一个参数是
        console.log(strings);// ['\n          <li>', '作者是:', '</li>\n      ', raw: Array(3)] 打印的是未解析模板字符串的
        console.log(...abc);// 媒体查询响应式布局 李白   打印的是解析完字符串的
        return strings.map((str, key) => {
            // console.log('66',str);
            // console.log(key);
            return str + (abc[key] ? abc[key].replace('布局', `<a href="http://www.baidu.com">布局</a>`) : '')
        })
    }
    document.body.innerHTML += template(); // 调用这个template()方法,将其加到body下面,并解析html标签
</script>

</html>

展示效果如下: 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值