浅念`

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

原生js模板语法之underscore.js

首先引入依赖文件
  /*
  *引入jq
  */
  <script src="js/jquery-3.6.0.min.js"></script>
  /*
  *引入模板依赖js
  */
 <script src="js/underscore-1.13.1.min.js"></script>

注意:使用underscore时,内容不是写在body标签里

  <javascript type="text/template" id="tpl">
      //这里面放的是页面的内容部分
      //for循环语法
      <ul>
         <% for(var i=0;i<data.leftCont.length;i++){ %>
            <% var item = leftCont[i]%>
                <li><%=item.title%></li>
         <% } %>
      </ul>
      //普通语法
      <p><%=right%></p>
  </javascript>
  <javascript>
     //获取渲染元素和模板内容
     var element = $('body');
     var tpl = $('#tpl').html();
     var data = {
        //这个data的用法与vue中的相似,在里面可以自己定义json数据
        //例如
         leftCont:[
           {title:"业务服务热线",tel:"0000-1111111"},
           {title:"客服服务热线",tel:"0000-1111111"},
           {title:"技术服务热线",tel:"0000-1111111"}
       ],  
        right:"hello world"
    }
    var rander = _.template(tpl);
    var html = rander(data);
    //将解析后的内容填充到渲染元素
    element.html(html);
  </javascript>

注:如果请求数据慢的话 会导致页面空白或者报错 原因是解析模板放在了请求数据之前 在数据没有请求过来就解析完成了 解决方法是模板解析延迟执行。

posted on   浅念`  阅读(173)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示