原创

js模板字符转使用-循环、判断、自定义函数等用法实例


js的模板字符串很强大,这里也是简单使用了一下,目的是将我的文章评论做一个异步获取,但是我项目又没有使用vue这些前端框架,只能使用这个方法了。

  1. function getComments(id) {
  2. var url = '/Comment/getComments';
  3. var data = {
  4. contentid: id
  5. }
  6. $.post(url, data, function (e) {
  7. let str = `
  8. <div class="mseeageBox mcr-col-md12 mcr-col-xs12 box-shadow mgt20">
  9. <h5>评论(${e.total})</h5>
  10. <hr>
  11. <div class="comment">
  12. ${e.data.map((item) => {
  13. return `
  14. <div class="item" id="articleComment${item.id}">
  15. <div class="left">
  16. <a target="_blank" href="{$v.homepage}">
  17. <img src="${item.headimgurl}">
  18. </a>
  19. </div>
  20. <div class="right">
  21. <div class="ctitle">
  22. <a class="nickname" href="">${item.nickname}</a>
  23. </div>
  24. <div class="comment-content">
  25. ${item.content}
  26. </div>
  27. <div class="comment-time">
  28. ${item.browser}-
  29. ${item.os}-
  30. ${item.ip_detail}
  31. </div>
  32. </div>
  33. </div>
  34. ${getReplyHtml(item)}
  35. `;
  36. }).join("")}
  37. </div>
  38. </div>`
  39. console.log('str', str)
  40. $('.mseeageBox').parent().append(str)
  41. })
  42. }
  43. function getReplyHtml(item){
  44. let str = '';
  45. if(item.reply){
  46. str += `
  47. <div class="item reply">
  48. <div class="left">
  49. <a target="_blank" href="${item.reply.homepage}">
  50. <img src="/data/upload/20210708/9f2d8f64301ae0afa79b386278452986.jpg" >
  51. </a>
  52. </div>
  53. <div class="right">
  54. <div class="ctitle">
  55. <a class="nickname" href="">米醋儿</a>
  56. </div>
  57. <div class="pd15">
  58. ${item.reply.content}
  59. </div>
  60. <div class="comment-time">
  61. ${item.reply.create_time}
  62. </div>
  63. </div>
  64. </div>
  65. `
  66. }
  67. return str;
  68. }

13行是循环

36行是自定义函数

留言反馈
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈