2.24 layui和enjoy冲突解决办法

#是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>


顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友
扫描二维码加琴海森林为好友