zoukankan      html  css  js  c++  java
  • 使用jQuery+huandlebars中with应用及with+this应用

    兼容ie8(很实用,复制过来,仅供技术参考,更详细内容请看源地址:http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html)

    with基本应用

    <!DOCTYPE html>
    <html>
      <head>
        <META http-equiv=Content-Type content="text/html; charset=utf-8">
        <title>with-进入到某个属性(进入到某个上下文环境) - by 杨元</title>
      </head>
      <body>
        <h1>with-进入到某个属性(进入到某个上下文环境)</h1>
        <!--基础html框架-->
        <table>
          <thead>
            <tr>
              <th>姓名</th>
              <th>性别</th>
              <th>年龄</th>
              <th>兴趣爱好</th>
            </tr>
          </thead>
          <tbody id="tableList">
            
          </tbody>
        </table>
        
        <!--插件引用-->
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="script/handlebars-1.0.0.beta.6.js"></script>
        
        <!--Handlebars.js模版-->
        <!--Handlebars.js模版放在script标签中,保留了html原有层次结构,模版中要写一些操作语句-->
        <!--id可以用来唯一确定一个模版,type是模版固定的写法-->
        <script id="table-template" type="text/x-handlebars-template">
          {{#each this}}
            <tr>
              <td>{{name}}</td>
              <td>{{sex}}</td>
              <td>{{age}}</td>
              <td>
                {{#with favorite}}
                  {{#each this}}
                    <p>{{name}}</p>
                  {{/each}}
                {{/with}}
              </td>
            </tr> 
          {{/each}}
        </script>
        
        <!--进行数据处理、html构造-->
        <script type="text/javascript">
          $(document).ready(function() {
            //模拟的json对象
            var data = [
                            {
                                "name": "张三",
                                "sex": "0",
                                "age": 18,
                                "favorite":
                                [
                                  {
                                    "name":"唱歌"
                                  },{
                                    "name":"篮球"
                                  }
                                ]
                            },
                            {
                                "name": "李四",
                                "sex": "0",
                                "age": 22,
                                "favorite":
                                [
                                  {
                                    "name":"上网"
                                  },{
                                    "name":"足球"
                                  }
                                ]
                            },
                            {
                                "name": "妞妞",
                                "sex": "1",
                                "age": 18,
                                "favorite":
                                [
                                  {
                                    "name":"电影"
                                  },{
                                    "name":"旅游"
                                  }
                                ]
                            }
                        ];
            
            //注册一个Handlebars模版,通过id找到某一个模版,获取模版的html框架
            //$("#table-template").html()是jquery的语法,不懂的童鞋请恶补。。。
            var myTemplate = Handlebars.compile($("#table-template").html());
            
            //将json对象用刚刚注册的Handlebars模版封装,得到最终的html,插入到基础table中。
            $('#tableList').html(myTemplate(data));
          });
        </script>
      </body>
    </html>

    with+this应用

    <!DOCTYPE html>
    <html>
      <head>
        <META http-equiv=Content-Type content="text/html; charset=utf-8">
        <title>with-终极this应用 - by 杨元</title>
      </head>
      <body>
        <h1>with-终极this应用</h1>
        <!--基础html框架-->
        <table>
          <thead>
            <tr>
              <th>姓名</th>
              <th>性别</th>
              <th>年龄</th>
              <th>兴趣爱好</th>
            </tr>
          </thead>
          <tbody id="tableList">
            
          </tbody>
        </table>
        
        <!--插件引用-->
        <script type="text/javascript" src="script/jquery.js"></script>
        <script type="text/javascript" src="script/handlebars-1.0.0.beta.6.js"></script>
        
        <!--Handlebars.js模版-->
        <!--Handlebars.js模版放在script标签中,保留了html原有层次结构,模版中要写一些操作语句-->
        <!--id可以用来唯一确定一个模版,type是模版固定的写法-->
        <script id="table-template" type="text/x-handlebars-template">
          {{#each this}}
            <tr>
              <td>{{name}}</td>
              <td>{{sex}}</td>
              <td>{{age}}</td>
              <td>
                {{#with favorite}}
                  {{#each this}}
                    <p>{{this}}</p>
                  {{/each}}
                {{/with}}
              </td>
            </tr> 
          {{/each}}
        </script>
        
        <!--进行数据处理、html构造-->
        <script type="text/javascript">
          $(document).ready(function() {
            //模拟的json对象
            var data = [
                            {
                                "name": "张三",
                                "sex": "0",
                                "age": 18,
                                "favorite":
                                [
                                  "唱歌",
                                  "篮球"
                                ]
                            },
                            {
                                "name": "李四",
                                "sex": "0",
                                "age": 22,
                                "favorite":
                                [
                                  "上网",
                                  "足球"
                                ]
                            },
                            {
                                "name": "妞妞",
                                "sex": "1",
                                "age": 18,
                                "favorite":
                                [
                                  "电影",
                                  "旅游"
                                ]
                            }
                        ];
            
            //注册一个Handlebars模版,通过id找到某一个模版,获取模版的html框架
            //$("#table-template").html()是jquery的语法,不懂的童鞋请恶补。。。
            var myTemplate = Handlebars.compile($("#table-template").html());
            
            //将json对象用刚刚注册的Handlebars模版封装,得到最终的html,插入到基础table中。
            $('#tableList').html(myTemplate(data));
          });
        </script>
      </body>
    </html>
  • 相关阅读:
    增量式爬虫 Scrapy-Rredis 详解及案例
    scrapy-redis使用以及剖析
    为什么代码要写到匿名自执行函数中?
    Vue组件第三天--webpack
    Vue组价通信
    Vue组件第一天
    pip3 install pycryptohome
    selenium 安装与 chromedriver安装
    解决:'chromedriver' executable needs to be in PATH问题
    如何在VS Code中编写Python
  • 原文地址:https://www.cnblogs.com/lengyue0030/p/7423750.html
Copyright © 2011-2022 走看看