渲染数据的方式

这篇博客展示了如何使用JavaScript的forEach和map方法动态地构建HTML新闻列表。通过遍历数据集,为每个新闻项创建包含图片、标题、来源、日期和评论数的结构,并将它们插入到页面的指定位置。此外,还演示了直接创建DOM元素并添加到列表的方法,用于对比不同的数据绑定策略。
摘要由CSDN通过智能技术生成

1.字符串加forEach循环(拼接字符串)

   let htmlstr=''
      res.data.forEach(item=>{
        htmlstr+=`<div class="news-item">
      <img class="thumb" src="http://www.liulongbin.top:3009${item.img}" alt="" />
      <div class="right-box">
        <!-- 新闻标题 -->
        <h1 class="title">${item.title}</h1>
        <div class="footer">
          <div>
            <!-- 新闻来源 -->
            <span>${item.source}</span>&nbsp;&nbsp;
            <!-- 发布日期 -->
            <span>${item.time}</span>
          </div>
          <!-- 评论数量 -->
          <span>评论数:${item.cmtcount}</span>
        </div>
      </div>
    </div>`

2.map方法(案例新闻列表)

  let arr=res.data.map(item=>
        `<div class="news-item">
        <img class="thumb" src="http://www.liulongbin.top:3009${item.img}" alt="" />
      <div class="right-box">
        <!-- 新闻标题 -->
        <h1 class="title">${item.title}</h1>
        <div class="footer">
          <div>
            <!-- 新闻来源 -->
            <span>${item.source}</span>&nbsp;&nbsp;
            <!-- 发布日期 -->
            <span>${item.time}</span>
          </div>
          <!-- 评论数量 -->
          <span>评论数:${item.cmtcount}</span>
        </div>
      </div>
    </div>`

      )
    
list.innerHTML=arr.join('')

3.创建元素,添加方式

 const {title,id,source,cmtcount,img}=obj[k]
    k++

        let box=document.createElement('div')
        box.classList.add('news-item')
        box.innerHTML=`
      <img class="thumb" src='http://www.liulongbin.top:3009/images/5.webp' alt="" />
      <div class="right-box">
        <!-- 新闻标题 -->
        <h1 class="title">${title}</h1>
        <div class="footer">
          <div>
            <!-- 新闻来源 -->
            <span>${source}</span>&nbsp;&nbsp;
            <!-- 发布日期 -->
            <span>2019-10-28 10:14:38</span>
          </div>
          <!-- 评论数量 -->
          <span>评论数:${cmtcount}</span>
        </div>
      </div>
    
        `
      list.appendChild(box)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值