wui.use('wtpl', function(){ var wtpl = wui.wtpl; //直接解析字符 wtpl('{{ d.name }}是一位公猿').render({ name: '小明' }, function(string){ console.log(string); //小明是一位公猿 }); //你也可以采用下述同步写法,将 render 方法的回调函数剔除,可直接返回渲染好的字符 var string = wtpl('{{ d.name }}是一位公猿').render({ name: '小明' }); console.log(string); //小明是一位公猿 //如果模板较大,你也可以采用数据的写法,这样会比较直观一些 wtpl([ '{{ d.name }}是一位公猿' ,'其它字符 {{ d.content }} 其它字符' ].join('')) });你也可以将模板存储在页面或其它任意位置:
//第一步:编写模版。你可以使用一个script标签存放模板,如: <script id="demo" type="text/html"> <h3>{{ d.title }}</h3> <ul> {{# wui.each(d.list, function(index, item){ }} <li> <span>{{ item.modname }}</span> <span>{{ item.alias }}:</span> <span>{{ item.site || '' }}</span> </li> {{# }); }} {{# if(d.list.length === 0){ }} 无数据 {{# } }} </ul> </script> //第二步:建立视图。用于呈现渲染结果。 <div id="view"></div> //第三步:渲染模版 var data = { //数据 "title":"wui常用模块" ,"list":[{"modname":"弹层","alias":"layer","site":"layer.wui.com"},{"modname":"表单","alias":"form"}] } var getTpl = demo.innerHTML ,view = document.getElementById('view'); wtpl(getTpl).render(data, function(html){ view.innerHTML = html; });
语法 | 说明 | 示例 |
---|---|---|
{{ d.field }} | 输出一个普通字段,不转义html |
<div>{{ d.content }}</div> |
{{= d.field }} | 输出一个普通字段,并转义html |
<h2>{{= d.title }}</h2> |
{{# JavaScript表达式 }} | JS 语句。一般用于逻辑处理。用分隔符加 # 号开头。 注意:如果你是想输出一个函数,正确的写法是:{{ fn() }},而不是:{{# fn() }} |
{{# var fn = function(){ return '2017-08-18'; }; }} {{# if(true){ }} 开始日期:{{ fn() }} {{# } else { }} 已截止 {{# } }} |
{{! template !}} | 对一段指定的模板区域进行过滤,即不解析该区域的模板。 |
<div> {{! 这里面的模板不会被解析 !}}</div> |
wtpl.config({ open: '<%', close: '%>' }); //分割符将必须采用上述定义的 wtpl([ '<%# var type = "公"; %>' //JS 表达式 ,'<% d.name %>是一位<% type %>猿。' ].join('')).render({ name: '小明' }, function(string){ console.log(string); //小明是一位公猿 });
{ "title": "wui常用模块" ,"list": [ { "modname": "弹层" ,"alias": "layer" ,"site": "www.wangren.net" } ,{ "modname": "表单" ,"alias": "form" } ,{ "modname": "分页" ,"alias": "wpage" } ,{ "modname": "日期" ,"alias": "wdate" } ,{ "modname": "上传" ,"alias": "upload" } ] }
<h3>{{ d.title }}</h3> <ul> {{# wui.each(d.list, function(index, item){ }} <li> <span>{{ item.modname }}</span> <span>{{ item.alias }}:</span> <span>{{ item.site || '' }}</span> </li> {{# }); }} {{# if(d.list.length === 0){ }} 无数据 {{# } }} </ul>
wui常用模块 弹层 layer: www.wangren.net 表单 form: 分页 wpage: 日期 wdate: 上传 upload: