视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
利用js创建模版的方法
2020-11-27 20:12:19 责编:小采
文档

js模板简单说明

基本说明

在开发中如果某块数据需要在多个地方使用(比如一个很长的段落或者是有格式的字符串)那么可以考虑使用简单模板。
因为某块数据在多个地方都要用到,势必需要把这份数据拷贝多次,而这样会造成冗余度过高的问题,且不方便维护。
假如后期需要对这块数据进行修改,那么所有用到的地方都要进行修改比较麻烦,因此建议使用模板来处理。

相关的代码示例:

 <script type="text/template" class="test">

 听说白雪公主在逃跑 小红帽在担心大灰狼
 听说疯帽喜欢爱丽丝 丑小鸭会变成白天鹅
 听说彼得潘总长不大 杰克他有竖琴和魔法
 听说森林里有糖果屋 灰姑娘丢了心爱的玻璃鞋
 只有睿智的河水知道 白雪是因为贪玩跑出了城堡 
 </script>
 <script>
 //01 获取模板中的内容
 var oScript = document.getElementsByClassName("test")[0]; 
 var oString = oScript.innerText; 
 </script>

模板框架的使用

1)有的时候模板中的内容结构是相同的,但是具体的细节可能并不一样,这时候需要对模板进行传参处理。
2)使用示例:
001 下载模板框架(github上面搜索模板引擎)
002 在页面中包含必要的js文件:<script src="dist/template-native.js"></script>
003 提供并设置模板:
<script id="demo" type="text/html">
 <h1><%=title%></h1>
 <ul>
 <% for(var i = 0, len = list.length; i < len; i++){ %>
 <li><%=list[i]%></li>
 <% } %>
 </ul>
 </script>
004 调用template方法传递参数并获取模板的内容
 <script>
 var data = {
 title: '基本例子',
 list: ['文艺1', '博客2', '摄影3', '电影4', '民谣5', '旅行6', '吉他7']
 }; var html = template('demo', data);
 document.body.innerHTML = html; 
 </script>

微博项目中使用模板框架

 // 001 包含模板引擎文件
 <script src="dist/template-native.js"></script> // 002 提供并设置模板的内容(注意需要设置id标识)
 <script id="demo" type="text/html">
 <p class="replyContent"><%=content%></p>
 <p class="operation">
 <span class="replyTime"><%=time%></span>
 <span class="handle">
 <a href="javascript:;" class="top"><%=acc%></a>
 <a href="javascript:;" class="down_icon"><%=ref%></a>
 <a href="javascript:;" class="cut">删除</a>
 </span>
 </p>
 </script> // 003 调用方法并传递参数,获取模板的内容
 var p = $("<p></p>");
 p.addClass("reply"); // 设置每条微博样式
 var temp = template("deno", obj);
 p.html(temp);// 给微博写入内容

下载本文
显示全文
专题