layui에 대해 더 알고 싶다면 다음을 클릭하세요. layui tutorial#🎜 🎜 #
Laytpl은 문자 파싱 성능이 뛰어난 JavScript 템플릿 엔진이지만 예외 디버깅에 단점이 있습니다. 기존의 프론트엔드 템플릿 엔진의 인기가 떨어지기 때문에, 향후에laytpl을 다시 작성할 수도 있으며, 현재의 방향은 아직 결정되지 않았으며,layui가 비교적 안정된 후에 구현될 것으로 예상됩니다.빠른 사용
일반적인 문자 스플라이싱과 달리laytpl의 템플릿은 데이터와 분리가 가능하므로 집중해서 사용하세요 특히 많은 수의 템플릿이 렌더링되는 상황에서 코드 유지 관리성을 향상시키기 위한 뷰 계층의 논리적 처리입니다.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 }} |
# 🎜🎜 # | {{= d.field }} | |
<h2>{{= d.title }}</h2> 로그인 후 복사 | # 🎜🎜## 🎜🎜#{{# JavaScript 표현식}} | JS 문. 일반적으로 논리 처리에 사용됩니다. 구분 기호로 시작하고 그 뒤에 # 기호가 옵니다. |
{{! template !}} | 지정된 템플릿 영역을 필터링합니다. 즉, 이 영역의 템플릿은 파싱. 참고:layui 2.1.6이 추가되었습니다. 🎜🎜#템플릿의 기본 {{ }} 구분 기호가 다른 템플릿(일반적으로 서버측 템플릿)과 충돌하는 경우 구분 기호를 재정의할 수도 있습니다: | |
결론 | Laytpl은 Layim, Table 등 Layui의 다양한 모듈에서 사용됩니다. 전통적인 프론트 엔드 템플릿 엔진의 인기가 줄어들었지만,laytpl은 여전히 특정 역할을 수행할 수 있으므로 시도해 보십시오. |