layui模板引擎如何使用

互联网 19-7-31

如果你想了解更多关于layui的知识,可以点击:layui教程

  laytpl 是 JavScript 模板引擎,在字符解析上有着比较出色的表现,欠缺之处在于异常调试上。由于传统意义的前端模板引擎已经变得不再流行,所以 laytpl 后续可能会进行重写,目前方向暂时还没有想好,预计会在layui比较稳定后开始实施。

快速使用

  与一般的字符拼接不同的是,laytpl 的模板可与数据分离,集中把逻辑处理放在 View 层,提升代码可维护性,尤其是针对大量模板渲染的情况。

layui.use('laytpl', function(){      var laytpl = layui.laytpl;//直接解析字符      laytpl('{{ d.name }}是一位公猿').render({           name: '贤心'           }, function(string){               console.log(string); //贤心是一位公猿         });       //你也可以采用下述同步写法,将 render 方法的回调函数剔除,可直接返回渲染好的字符       var string =  laytpl('{{ d.name }}是一位公猿').render({           name: '贤心'        });      console.log(string);        //贤心是一位公猿      //如果模板较大,你也可以采用数据的写法,这样会比较直观一些      laytpl([          '{{ d.name }}是一位公猿',          '其它字符 {{ d.content }}  其它字符'          ].join(''))       });

  你也可以将模板存储在页面或其它任意位置:

//第一步:编写模版。你可以使用一个script标签存放模板,如: <script id="demo" type="text/html">     <h3>{{ d.title }}</h3>     <ul>{{#  layui.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":"Layui常用模块","list":[{"modname":"弹层","alias":"layer","site":"layer.layui.com"},{"modname":"表单","alias":"form"}]} var getTpl = demo.innerHTML, view = document.getElementById('view'); laytpl(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 !}}对一段指定的模板区域进行过滤,即不解析该区域的模板。注:layui 2.1.6 新增
<div> {{! 这里面的模板不会被解析  !}}</div>

分割符

  如果模版默认的 {{ }} 分隔符与你的其它模板(一般是服务端模板)存在冲突,你也可以重新定义分隔符:

laytpl.config({   open: '<%',   close: '%>' }); //分割符将必须采用上述定义的 laytpl([   '<%# var type = "公"; %>' //JS 表达式,   '<% d.name %>是一位<% type %>猿。'   ].join('')).render({   name: '贤心' }, function(string){   console.log(string); //贤心是一位公猿 });

结语

  laytpl 应用在 layui 的很多模块中,如:layim、table 等。尽管传统意义的前端模板引擎已经变得不再流行,但 laytpl 仍然可以发挥一定作用,不妨尝试一下吧。

以上就是layui模板引擎如何使用的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 模板引擎
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:layui怎么用

相关资讯