zoukankan      html  css  js  c++  java
  • Html模板引擎Handlerbars使用demo

    1.自定义demo

    <html>
        <head>
            <script src="./handlebars-v4.0.12.js"></script>
        </head>
        <body>
            <ul id='tmpContainer1'></ul>
            <ul id = 'tmpContainer2'></ul>
    
            <!--案例1-->
            <script id='tmp1' type="text/x-handlebars-template">
                    {{#each people}}
                    <li>{{name}}</li>
                    {{/each}}
            </script>
            <script type="text/javascript">
                //1.定义模板填充用的参数
                var content = {
                    people : [
                        {name:'aa', age: 12},
                        {name:'bb', age: 12},
                        {name:'cc', age: 15},
                        {name:'dd', age: 16},
                    ]
                }
                //2.定义模板
                var template1 = Handlebars.compile(document.getElementById("tmp1").innerHTML);
                //3.模板套用填充参数,返回模板填充结果
                var html1 = template1(content);
                //4.将模板填充的结果嵌入到页面响应位置
                document.getElementById("tmpContainer1").innerHTML = html1;
            </script>
    
            <!--======================================================-->
    
            <!--案例2-->
            <script id = 'tmp2' type="text/x-handlebars-template">
                {{#each people}}
                <li>{{combine this}}</li>
                {{/each}}
            </script>
            <script>
                 var content = {
                    people : [
                        {name:'aa', age: 12},
                        {name:'bb', age: 12},
                        {name:'cc', age: 15},
                        {name:'dd', age: 16},
                    ]
                }
                //注意helper的注册要先于 Handlebars.compile()的执行,否则报错。
                Handlebars.registerHelper('combine',function(item){
                    return item.name + ' '+ item.age;
                })
                
                var template2 = Handlebars.compile(document.getElementById("tmp2").innerHTML);
                var html2 = template2(content);
                document.getElementById("tmpContainer2").innerHTML = html2;
               
            </script>
        </body>
    </html>

    2. 更多demo(较详细介绍)请参看如下博客

    http://www.cnblogs.com/zcynine/p/5014421.html

  • 相关阅读:
    网页版台球小游戏
    代码写响应式时钟效果
    如何使用SVN?
    TP框架---View视图层---模板继承(举例说明)
    ThinkPhp框架:文件上传
    ThinkPhp框架:验证码功能
    ThinkPhp框架:父类及表单验证
    ThinkPhp框架对“数据库”的基本操作
    对thinkphp的命名空间的理解
    控制器操作方法的调用
  • 原文地址:https://www.cnblogs.com/zhcBlog/p/10210755.html
Copyright © 2011-2022 走看看