1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <script src="./lib/jquery/1.9.1/jquery.min.js"></script> <script src="./lib/handlebars/4.0.10/handlebars.js"></script> </head> <body> <ul id="testData"> </ul> <script id="template" type="text/x-handlebars-template"> {{#each members}} {{#fn_ifTest age}} <li> {{@index}} : {{name}} {{age}} </li> {{/fn_ifTest}} {{/each}} </script> <script type="text/javascript"> Handlebars.registerHelper("fn_ifTest", function(age, option) { console.log(this); console.log(age); console.log(this.age); console.log(option); console.log(option.fn()); console.log(option.fn(this)); // this 인자의 차이는 출력값 포함, 미포함 var result = ""; if(age == 20) { // age가인 맴버만 출력 result += option.fn(this); } return result; }); var testData = { members : [ { name : '이소룡', regdate: 1496893345000, age:50}, { name : '김양용', regdate: 1496893341000, age:20}, { name : '조미미', regdate: 1496893330000, age:30}, { name : '김조조', regdate: 1496893310000, age:20}, { name : '김나라', regdate: 1496893380000, age:60} ] } var template = Handlebars.compile($('#template').html()); var html = template(testData); $("#testData").append(html); </script> </body> </html> |
반응형
'Handlebars' 카테고리의 다른 글
[Handlebars] 헬퍼함수 조건문 else 분기 (0) | 2017.06.08 |
---|---|
[Handlebars] 헬퍼함수 사용 (1) | 2017.06.08 |
[Handlebars] each 반복문 출력 (0) | 2017.06.08 |