天天看點

doT JS

1dot.js github位址:

http://olado.github.io/dot/

執行個體1:簡單

doT JS

<!doctype html>  

<html lang="en">  

<head>  

    <meta charset="utf-8">  

    <title></title>  

    <script type="text/javascript" src="../../dot.js"></script>  

    <script type="text/javascript" src="http://hbjltv.com/static/js/jquery-1.11.1.js"></script>  

</head>  

<body>  

<div id="interpolationtmpl">  

    <div>hi {{=it.name}}!</div>  

    <div>{{=it.age || ''}}</div>  

</div>  

<hr/>  

<div id="interpolation"></div>  

<script type="text/javascript">  

    var datainter = {"name": "jake", "age": 31};  

    var intertext = dot.template($("#interpolationtmpl").html());  

    $("#interpolation").html(intertext(datainter));  

</script>  

</body>  

</html>  

運作結果:

doT JS

 執行個體二:條件判斷

doT JS

<div id="conditionstmpl">  

    {{? !it.name }}  

    <div> 你還沒有名字</div>  

    {{?? }}  

    <div>oh, i love your name, {{=it.name}}!</div>  

    {{?}}  

<div id="condition"></div>  

    var dataencode = {"name": "黃威", "age": 31};  

    var intertext = dot.template($("#conditionstmpl").html());  

    $("#condition").html(intertext(dataencode));  

doT JS

執行個體三:循環+條件判斷

doT JS

<div id="evaluationtmpl">  

    {{ for(var prop in it) { }}  

        {{? typeof it[prop]=='object' }}  

            <div style="font-weight: bold;" >key:{{= prop }}---value:</div>  

            {{ for(var prop2 in it[prop]) { }}  

                <div style="margin-left: 20px;" >key:{{= prop2 }}---value:{{= it[prop][prop2] }}</div>  

            {{ } }}  

        {{?? }}  

            <div>key:{{= prop }}---value:{{= it[prop] }}</div>  

        {{?}}  

    {{ } }}  

<div id="evaluation"></div>  

    var dataeval = {  

        "name": "jake",  

        "age": 31,  

        "interests": ["basketball", "hockey", "photography"],  

        "contact": {"email": "[email protected]", "phone": "999999999"}  

    };  

    var evaltext = dot.template($("#evaluationtmpl").html());  

    $("#evaluation").html(evaltext(dataeval));  

 運作結果:

doT JS

源碼下載下傳位址:

http://pan.baidu.com/s/1c0hfyb2

說明:1,{{? typeof it[prop]=='object' }} 表示條件判斷,結束标簽是{{?}}2, {{?? }}是條件判斷的else3,{{ 和{{? 中均可以使用原生的js文法,如for,typeof 等4,模闆并不是一定要放在script标簽中,也可以放在隐藏的div标簽中

<a href="http://hw1287789687.iteye.com/">iteye部落格首頁</a>

繼續閱讀