Mustache语法中实现if-else

1、{{#prop}}{{/prop}}标签:
这对标签的作用非常强大,可以同时完成if-else和for-each以及动态渲染的模板功能。在这对标签之间,可以定义其它模板内容,嵌套所有标签

1.{{#prop}}{{/prop}}标签:
这对标签的作用非常强大,可以同时完成if-else和for-each以及动态渲染的模板功能。在这对标签之间,可以定义其它模板内容,嵌套所有标签。

<ul class="dropdown-menu" role="menu">
    <shiro:hasPermission name="expapp:experiment:experiment:getRealTimeGraph">
     {{#graphBtn}}
        <li><a href="${ctx}/expapp/experiment/experiment/realTimeGraph?equipmentNumber={{row.test.manufacturingEquipment.equipmentNumber}}&innerContainerCode={{row.innerContainerCode}}" ></i> 查看实时曲线图</a></li>
     {{/graphBtn}}
    </shiro:hasPermission>
</ul>
function addRow(list, idx, tpl, row){
        $(list).append(Mustache.render(tpl, {
            idx: idx, delBtn: true, row: row, graphBtn:function(){  
                if(row.test.status=='2'){  
                    return true;  
                }  
                return false;  
            }
        }));
    }

以上用例中特殊点的就是graphBtn属性引用的是一个函数的时候,{{#graphBtn}}会自动调用这个函数,并把函数的返回值作为if-else渲染逻辑的判断依据,也就是说如果这个函数返回的是false值或者是空数组的时候,那么这对标签之间的内容还是不会显示。

猜你喜欢

转载自blog.csdn.net/u012732909/article/details/107918720