js8.html 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
  7. <link rel="stylesheet" href="../css/weui.css"/>
  8. <link rel="stylesheet" href="../css/weuix.css"/>
  9. <script src="../js/zepto.min.js"></script>
  10. <script src="../js/zepto.weui.js"></script>
  11. <script src="../js/php.js"></script>
  12. </head>
  13. <body ontouchstart>
  14. <div class="container">
  15. <div class="page-hd">
  16. <h1 class="page-hd-title">
  17. Template7和tpl的js模板引擎2种
  18. </h1>
  19. <p class="page-hd-desc">Template7模板在zepto.weui.js中,tpl在php.js中,根据需要选择</p>
  20. </div>
  21. <div class="weui-cells__title">Template7支持循环且能判断是否为空数据,支持if/else,支持js表达式,支持上级对象输出,更多功能都是鸡肋用不着,可以去官方查看</div>
  22. <div class="weui-cells" id="list"></div>
  23. <script id="tpl" type="text/html">
  24. {{#each list}}
  25. <a class="weui-cell weui-cell_access" href="javascript:;">
  26. <div class="weui-cell__bd">
  27. <p>{{@index}}- {{../title}} - {{name}} {{#if ../n<1}}小于1{{else}}大于1{{/if}} {{js "date('Y-m-d',time())"}}</p>
  28. </div>
  29. <div class="weui-cell__ft"> {{age}}
  30. </div>
  31. </a>
  32. {{else}}
  33. 数组为空输出
  34. {{/each}}
  35. </script>
  36. <script>
  37. var json = {
  38. "title":"我是一个中国人",
  39. "date":"2018-12-12",
  40. "n":"-99",
  41. "list":[
  42. {
  43. "name":"李白","age":"99岁"
  44. },
  45. {
  46. "name":"杜甫","age":"77岁"
  47. },
  48. {
  49. "name":"白居易","age":"1000岁"
  50. },
  51. {
  52. "name":"李贺","age":"100岁"
  53. }
  54. ]
  55. };
  56. var comtpl = $.t7.compile(document.getElementById('tpl').innerHTML);
  57. document.getElementById('list').innerHTML = comtpl(json);
  58. </script>
  59. <div class="weui-cells__title">tpl是1kb模板引擎,只有一个函数支持循环</div>
  60. <div class="weui-cells" id="rank"></div>
  61. <script id="tpl1" type="text/html">
  62. <% for (var i in list) { %>
  63. <a class="weui-cell weui-cell_access" href="javascript:;">
  64. <div class="weui-cell__bd">
  65. <p><%=i%>- <%=list[i].name||"不存在"%><%=this.title%><%=(this.n>1)?"大于1":"小于1"%></p>
  66. </div>
  67. <div class="weui-cell__ft"> <%=list[i].age%>
  68. </div>
  69. </a>
  70. <% } %>
  71. </script>
  72. <script>
  73. document.getElementById('rank').innerHTML = tpl(document.getElementById('tpl1').innerHTML,json);
  74. </script>
  75. <div class="weui-cells" id="content"></div>
  76. <script>
  77. var data={
  78. title:"登鹳雀楼",
  79. list:[
  80. "白日依山尽",
  81. "黄河入海流",
  82. "欲群千里目",
  83. "更上一层楼"
  84. ]
  85. }
  86. var html='<div class="weui-cells__title">tpl用法2字符串赋值方法的模板</div>' +
  87. '<% for (var i in list) { %>' +
  88. '<a class="weui-cell weui-cell_access" href="javascript:;">\n' +
  89. ' <div class="weui-cell__bd">\n' +
  90. ' <p><%=list[i]%><%=this.title%></p>\n' +
  91. ' </div>\n' +
  92. ' <div class="weui-cell__ft">\n' +
  93. ' </div>\n' +
  94. ' </a>' +
  95. '<% } %>';
  96. document.getElementById('content').innerHTML = tpl(html,data);
  97. </script>
  98. <br>
  99. <br>
  100. <div class="weui-footer weui-footer_fixed-bottom">
  101. <p class="weui-footer__links">
  102. <a href="../index.html" class="weui-footer__link">WeUI首页</a>
  103. </p>
  104. <p class="weui-footer__text">Copyright &copy; Yoby</p>
  105. </div>
  106. </div>
  107. </body>
  108. </html>