• Handlebars 使用


    引入js

    <script src="js/json3.min.js"></script>
    <script src="js/handlebars-v4.0.12.js"></script>

    设置模板

    <script id="css1" type="text/x-handlebars-template">
        <style type="text/css">
            .gridtable {
                font-family: verdana, arial, sans-serif;
                font-size: 13px;
                color: #333333;
                border- 1px;
                border-color: #666666;
                border-collapse: collapse;
            }
    
            .gridtable td {
                border- 1px;
                padding: 8px;
                border-style: solid;
                border-color: #666666;
                background-color: #ffffff;
            }
        </style>
    </script>

    调用

    //返回模板编译后的结果
        function getHtml(id,d) {
            var o = d || {};
            var h = Handlebars.compile($('#' + id).html());
            return h(o);
        }

    循环

    {{#each list}}
        <tr>
            <td>{{rownum}}</td>
            <td>{{cwardname}}</td>
            <td>{{nums}}</td>
            <td>{{cxyrs}}</td>
            <td>&nbsp;</td>
            <td>{{gxy35}}</td>
            <td>{{gxy35}}</td>
        </tr>
        {{/each}}

    判断  

    Handlebars.registerHelper("compare", function (v1, options) {
            if (v1) {
                return options.fn(this); // 满足添加继续执行
            } else {
                return options.inverse(this); // 不满足条件执行{{else}}部分
            }
        });

    使用 上面的判断 

    {{#compare obj2.name1}}
                    <input type="checkbox"/>无&emsp;<input type="checkbox"/>有&emsp;原因:<br/>
                    1.<br/>
                    2.<br/>
                    {{else}}
                    &nbsp;
                    {{/compare}}

    注册使用helper ,下面是循环里  索引加一的helper

    Handlebars.registerHelper("addOne", function (index, options) {
                    return parseInt(index) + 1;
                });
    
    {{#each list}}
        <tr>
            <td>{{addOne @index}}</td>
            <td>{{itemname}}</td>
            <td>{{qty}}</td>
            <td>{{p2}}</td>
            <td>{{itemunit}}</td>
        </tr>
        {{/each}}

    取值

    正常取值 {{name}},
    不转义   {{{html}}}
  • 相关阅读:
    PS初步学习经验心得记录
    css第四天--复合选择器和样式三大特性
    css第三天--盒子模型
    html第二天--表单控件和表格
    css第二天--字体属性和文本属性
    vue计算属性(computed)
    ant-input的使用
    js-split() 方法
    设计转到前端开发
    $set
  • 原文地址:https://www.cnblogs.com/lishupeng/p/10488165.html
Copyright © 2020-2023  润新知