`
53873039oycg
  • 浏览: 824135 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]Handlebars简单例子

 
阅读更多

       Handlebars官网链接:http://handlebarsjs.com/,下面是一个简单的例子,欢迎吐槽.

      

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Handlebars Expressions Example</title>
<script type="text/javascript" src="../js/jquery-2.1.0.js"></script>
<script type="text/javascript" src="../js/handlebars-v1.3.0.js"></script>
<script id="people-template" type="text/x-handlebars-template">
       {{#each people}}
        <div>
          <div>{{diyName first_name last_name email}}</div>
          <div>{{isHasPhone phone}}</div>
          <div><a href="mailto:{{email}}">{{email}}</a></div>
          <div>User since: {{member_since}}</div><br/>
        </div>
      {{/each}}
    </script>

<script type="text/javascript">
	$(document).ready(function() {
		Handlebars.registerHelper("isHasPhone", function(txt,fn) {
			var strVar = "";
			if($.trim(txt)!=''&&$.trim(txt)!='NULL'){
				strVar = '<span>联系电话:'+txt+'</span>';
			}else {
				strVar = '<span>暂无联系方式</span>';
			}
			return new Handlebars.SafeString(strVar);
		});
		Handlebars.registerHelper("diyName", function(var1,var2,var3,fn) {
			var strVar = "";
			if($.trim(var3)==''){
				strVar = '<span>'+var1+' '+var2+'</span>';
			}else{
				strVar = '<a href="mailto:'+var3+'">'+var1+' '+var2+'</a>';
			}
			return new Handlebars.SafeString(strVar);
		});
		// compile our template
		var template = Handlebars.compile($("#people-template").html());
		var data = {
			people : [ {
				first_name : "中文",
				last_name : "测试",
				phone : "1234567890",
				email : "alan@test.com",
				member_since : "2014-4-11"
			}, {
				first_name : "Allison",
				last_name : "House",
				phone : " ",
				email : "allison@test.com",
				member_since : "2014-5-12"
			} , {
				first_name : "测试",
				last_name : "House",
				phone : "NULL",
				email : "allison@test.com",
				member_since : "2014-6-11"
			}, {
				first_name : "无链接",
				last_name : "test",
				phone : "NULL",
				email : " ",
				member_since : "2014-6-1"
			} ]
		};
		$('#test').html(template(data));
	});
</script>
</head>
<body>
	<h1>Handlebars Expressions Example!</h1>
	<!--this is a list which will rendered by handlebars template.    -->
	<div id="test"></div>
</body>
</html>

    结果为

   

      全文完

 

  • 大小: 47.6 KB
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics