javascript模板庫jsrender for循環嵌套示例


最近在參與整合前端的框架,我們知道javascript最強大的模板引擎之一當屬jsrender,號稱下一代jquery模板引擎的標准實現。

通常在模板merge的過程中,我們會遇到兩次乃至三級嵌套的情形,強大的jsrender自然會支持,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="jsrender.js"></script>
    <title>jsrender nest demo</title>
</head>
<body>
<div id="studentList">abc</div>
<script type="text/x-jsrender" id="studentTemplate">
    {{for #data}}
        <h3>{{:name}}</h3>
        <ul>
        {{for language}}
            <li>
            {{:#parent.parent.data.name}} is learning {{:title}}<br/>
            {{for scores}}
                <a href="#">{{:score}}</a>
            {{/for}}
            </li>
        {{/for}}
        </ul>
    {{/for}}
</script>
<script type="text/javascript">
    var students = [{name:"張三",language:[{title:"中",scores:[{score:12},{score:13},{score:14}]},{title:"英",scores:[{score:12},{score:13},{score:14}]},{title:"數",scores:[{score:12},{score:13},{score:14}]}]},
                    {name:"李四",language:[{title:"中",scores:[{score:12},{score:13},{score:14}]},{title:"中",scores:[{score:12},{score:13},{score:14}]},{title:"中",scores:[{score:12},{score:13},{score:14}]}]},
                    {name:"王五",language:[{title:"中",scores:[{score:12},{score:13},{score:14}]},{title:"中",scores:[{score:12},{score:13},{score:14}]},{title:"中",scores:[{score:12},{score:13},{score:14}]}]}];
    $("#studentList").html($("#studentTemplate").render(students));
</script>
</body>
</html>

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM