zoukankan      html  css  js  c++  java
  • doT学习(三)之实战

    案例一:

    <html>
        <head>
    
        <script id="headertmpl" type="text/x-dot-template">
            <h1>{{=it.title}}</h1>
        </script>
    
        <script id="pagetmpl" type="text/x-dot-template">
            <h2>Here is the page using a header template</h2>
            {{#def.header}}
            {{=it.name}}
        </script>
    
        <script id="customizableheadertmpl" type="text/x-dot-template">
             {{#def.header}}
             {{#def.mycustominjectionintoheader || ''}}
         </script>
    
        <script id="pagetmplwithcustomizableheader" type="text/x-dot-template">
            <h2>Here is the page with customized header template</h2>
            {{##def.mycustominjectionintoheader:
                <div>{{=it.title}} is not {{=it.name}}</div>
            #}}
            {{#def.customheader}}
            {{=it.name}}
        </script>
    
        <script src="../doT.min.js" type="text/javascript"></script>
        </head>
    
        <body>
            <div id="content"></div>
            <div id="contentcustom"></div>
        </body>
    
        <script type="text/javascript">
            var def = {
                header: document.getElementById('headertmpl').text,
                customheader: document.getElementById('customizableheadertmpl').text
            };
            var data = {
                title: "My title",
                name: "My name"
            };
    
            var pagefn = doT.template(document.getElementById('pagetmpl').text, undefined, def);
            document.getElementById('content').innerHTML = pagefn(data);
    
            pagefn = doT.template(document.getElementById('pagetmplwithcustomizableheader').text, undefined, def);
            document.getElementById('contentcustom').innerHTML = pagefn(data);
    
        </script>
    
    </html>

     案例二:

    // 实际应该展示在页面上的Dom
    <div id="interpolation"></div>
    
    // 模版
    <script id="interpolationtmpl" type="text/x-dot-template">
        <!-- 新增用户弹窗 -->
        <div id="addSourcePopup" class="modal fade q-popup" tabindex="-1" role="dialog"
             aria-labelledby="myModalLabel" aria-hidden="true" data-child-node-id="q-popup" style="margin-top: 10px;">
            <div class="q-popup-modal modal-dialog" style=" 900px;background-color: #ffffff;">
                <div class="popup-header modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
                    {{? it.data && it.data.id}}
                    更新计划
                    {{??}}
                    新增计划
                    {{?}}
                </div>
            </div>
        </div>
    </script>
    
    // 编译和渲染
    jQuery.ajax({
         type: "get",
         url: "http://",
         dataType: "json",
         success: function (result) {
         if (result && "0" == result.code && result.json) {
              var template = doT.template($("#interpolationtmpl").text()); // 将模版编译成函数
              var rs = template(result.json); // 使用数据渲染
            $("#interpolation").html(rs); // 添加进之前准备好的Dom
            }
         }
     });     
  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/kunmomo/p/11227674.html
Copyright © 2011-2022 走看看