#是layui和enjoy的模板关键字符,所以这两个模板结合使用的时候就会造成冲突,冲突场景如下:
一、在layui的table的templet语法冲突,layui的模板语法如下:
1、templet语法冲突
<script type="text/html" id="sexStr"> {{# if(d.sex == 1){ }} <font color="red">男</font> {{# }else{ }} 女 {{# } }} </script>
2、冲突原因
在使用layui这种复杂语句的时候,就会造成#符和enjoy的语法冲突,因为enjoy的语法关键字符也是#,而enjoy是服务端模板引擎,先于layui执行,当enjoy遇到#符的时候发现不符合enjoy语法,所以抛出异常。
二、解决方法:
1、使用enjoy的原样输出指令:#[[ ...]]#,这个指令是以#[[开始,]]#结束,中间就是写任何的html代码。以上的代码修如下:
<script type="text/html" id="sexStr"> #[[ {{# if(d.sex == 1){ }} <font color="red">男</font> {{# }else{ }} 女 {{# } }} ]]# </script>
2、第二种使用layui的简单语法{{ }},用三目运算符?:代替
<script type="text/html" id="sexStr"> {{ d.sex == 1 ? '<font color="red">男</font>' : '女' }} </script>