当前位置: 首页 >>前端开发 >>LayUi教程 >>LayUi 模板引擎程序

LayUi 模板引擎程序

时间:2021/10/31 8:33:00 【admin】

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

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


模块加载名称:laytpl,在线调试:http://www.layuion.com/demo/laytpl.html

快速使用

laytpl 模板可与数据共存,这意味着可直接在模板中处理逻辑。


</>code

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(''))

}); 

      

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


</>code

//第一步:编写模版。你可以使用一个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.layuion.com"},{"modname":"表单","alias":"form"}]

}

var getTpl = demo.innerHTML

,view = document.getElementById('view');

laytpl(getTpl).render(data, function(html){

  view.innerHTML = html;

});

      

模版语法

image.png

分隔符

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


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分页教程

相关文章

CopyRight:2007-2018 编程语言吧 备案ICP:湘ICP备09009000号-15 http://www.yuyanba.com

分享按钮