h5学习笔记:weui text/template 使用
2017-04-07 23:17
429 查看
昨天开始尝试一下使用这个,之前使用weui的时候,产生一个列表。通过ajax 获取一个数组列表。这个时候,第一次做的时候采用字符串拼凑的方式将字符串拼凑起来,在当时而言这种做法凑效,但相当痛苦。VueJs有模版,但还没有完整采用vue的文件开发。暂时功力不够,看了一下express ejs通过模版引擎可以很方便替换一些变量。有了这个便利后,实际上结合这个提供text/template 模版方式,间接减轻一下在Js 里面拼凑字符串的编写工作。
定义一个
这个时候,我们会填写一下变量的关键字。类似<%=title%>,<%=pic%>
这个有参考ejs命名方式。
一会我们需要获取到相应的script信息,把其使用代替相应的变量,这样子我们的列表信息就可以根据数据来源替换对应字段了。
下面总的代码如下“`
定义一个
<script type="text/template"> //在这里添加需要的html代码,就如往常一样 </script>
<script id="template" type="text/template"> <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg"> <div class="weui-media-box__hd"> <img class="weui-media-box__thumb" src="<%=pic%>"> </div> <div class="weui-media-box__bd"> <p><%=title%></p> </div> </a> </script>
这个时候,我们会填写一下变量的关键字。类似<%=title%>,<%=pic%>
这个有参考ejs命名方式。
一会我们需要获取到相应的script信息,把其使用代替相应的变量,这样子我们的列表信息就可以根据数据来源替换对应字段了。
下面总的代码如下“`
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link href="http://cdn.bootcss.com/weui/1.1.1/style/weui.css" rel="stylesheet">
<title>微信案例</title>
</head>
<style>
.weui-media-box_appmsg .weui-media-box__hd {
margin-right: .8em;
width: 80px;
line-height: 80px;
}
.weui-media-box {
padding: 10px;
}
</style>
<script id="template" type="text/template"> <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg"> <div class="weui-media-box__hd"> <img class="weui-media-box__thumb" src="<%=pic%>"> </div> <div class="weui-media-box__bd"> <p><%=title%></p> </div> </a> </script>
<body>
<div class="weui-panel weui-panel_access">
<div class="weui-panel__hd">体育热点</div>
<div id="panelBody" class="weui-panel__bd">
</div>
</div>
<script type="text/javascript">
var templateStr = document.getElementById('template').innerHTML;
// console.log(template);
var panelBody = document.getElementById('panelBody');
var array = [{title:'勇士对太阳',pic:'https://ks.sinaimg.cn/n/sports/transform/20170218/yxCN-fyarrcc7809590.jpg/w120h90z1l50t1657.jpg'},
{title:'骑士对热火',pic:'https://ks.sinaimg.cn/n/sports/transform/20170218/yxCN-fyarrcc7809590.jpg/w120h90z1l50t1657.jpg'}];
var temp = [];
array.forEach(function(element) {
console.log(element);
temp.push(formatHtml(templateStr,element))
}, this);
panelBody.innerHTML = temp.join(',');
//格式化
function formatHtml(str,obj)
{
return str.replace('<%=title%>',obj.title).replace('<%=pic%>',obj.pic);
}
</script>
</body>
</html>
相关文章推荐
- jQuery学习笔记—— .html(),.text()和.val()的使用
- jQuery学习笔记—— .html(),.text()和.val()的使用和区别
- 搬迁学习笔记1——Handler的基本使用、子线程更新UI的方式
- Vue.js学习笔记:在元素 和 template 中使用 v-if 指令
- unity中UI的学习笔记——Text
- jQuery学习笔记—— .html(),.text()和.val()的使用
- iOS学习笔记---UIPageControl的简单使用(用于分页)
- ArcEngine 9.3 学习笔记(六):图层符号化(COlorRamp,MarkerSymbol,LineSymbol,FillSymbol,TextSymbol,3DChartSymbol,使用ServerStyle符号库,FeatureRender,RasterRender)
- unity 4.6新UI系统学习笔记 如何通过脚本访问并修改Text组件
- Vue.js学习笔记:在元素 和 template 中使用 v-if 指令
- ExtJS4学习笔记八--Template的使用
- Django学习笔记(二)Django使用template
- Android UI学习笔记之 MultiAutoCompleteTextView和AutoCompleteTextView
- IOS 开发学习笔记-基础 UI(十)九宫格布局,块动画,字典转模型,Xib使用
- cocos2d-x学习笔记3:CCTextFieldTTF的使用和再封装
- IOS学习笔记(七)之UISegmentedControl分段控件的基本概念和使用方法
- ExtJS4学习笔记八--Template的使用
- iOS学习笔记—— UIPickerView 控件的简单使用
- WeX5学习笔记之前端页面模型UI2
- Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用