js

handlebar 예제

멋진 개구리 2021. 2. 4. 17:30
반응형

자바스크립트 핸들바 예제.

 

<!DOCTYPE html>
<html>
  <head>
    <title>Handlebars Partials Example</title>
  </head>
  <body>
    <h1>Handlebars Partials Example!</h1>
    <div id="list">
    </div>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.js"></script>
    <script src="https://code.jquery.com/jquery-latest.min.js"></script>

    <script id="people-template" type="text/x-handlebars-template">
      {{#each people}}
        {{> person}}
      {{/each}}
    </script>
    <script id="person-partial" type="text/x-handlebars-template">
      <div class="person">
            <h2>{{first_name}} {{last_name}}</h2>
            <div class="phone">{{phone}}</div>
            <div class="email"><a href="mailto:{{email}}">{{email}}</a></div>
              <div class="since">User since {{member_since}}</div>
      </div>
    </script>
    <script type="text/javascript">
      $(document).ready(function() {
        var partials = $("#person-partial").html();
        var template = Handlebars.compile($("#people-template").html());
        Handlebars.registerPartial("person", partials);
        var data = {
          people: [
            { first_name: "Alan", last_name: "Johnson", phone: "1234567890", email: "alan@test.com", member_since: "Mar 25, 2011" },
            { first_name: "Allison", last_name: "House", phone: "0987654321", email: "allison@test.com", member_since: "Jan 13, 2011" },
            { first_name: "Nick", last_name: "Pettit", phone: "9836592272", email: "nick@test.com", member_since: "Apr 9, 2009" },
            { first_name: "Jim", last_name: "Hoskins", phone: "7284927150", email: "jim@test.com", member_since: "May 21, 2010" },
            { first_name: "Ryan", last_name: "Carson", phone: "8263729224", email: "ryan@test.com", member_since: "Nov 1, 2008" }
          ]
        };
        $('#list').html(template(data));
      });
    </script>
  </body>
</html>
 


실행화면

반응형