Handlebars 学习总结

Handlebars的功能就是先创建一个页面的模板,然后在需要生成页面的时候调用模板往里填数据。这样的好处是对于复杂的页面来说可有有效的讲数据和逻辑分开,可以模块化的复用很多部分。


1. 可以在HTML代码中嵌入Handlebars代码例如:  //此处的{{title}}{{body}}相当于在此处打了个标签,在调用模板的是时候会向标签里填入内容。

<h1>{{title}}</h1>

<div class="body">

  {{body}}

</div>


2. 可以把一个template放在<script>代码中。

<script id = "entry-template" type = "text/x-handlebars-template">

  template content //此处就可以放1中的那段代码。

</script>


3. 编译一个template

var source = $("#entry-template").html;

var template = Handlebars.compile(source);


4.使用template 得到相应的HTML页面

var context = {title: "My New Post", body: "This is my first post ! "};

var html = template(context);


得到的结果就是 

<h1>My New Post</h1>

<div class="body">

  This is my first post !

</div>

*****HTML里的标签被替换掉了


5. 如果  不想Handlebars escape a value(就是保证替换的东西原封不动的替换) 就使用{{{    例如{{{body}}},两个大括号会escape value。


还有一种方法也 不会 escape a value,就是使用 Handlebars.safeSting()方法。例如:

Handlebars.registerHelper('link', function(text, url) {

  text = Handlebars.Utils.escapeExpression(text);

  url  = Handlebars.Utils.escapeExpression(url);

  var result = '<a href="' + url + '">' + text + '</a>';

  return new Handlebars.SafeString(result); 

});


6. Block Expressions

用Handlebars.registerHelper();来生成一个block expressions

使用的时候用如下语法 :

{{#list people}}

{{/list}}


7 Build-in Block Helpers

with

each

if

unless


8. 注释

在Handlebars的代码里,{{!****}}这样的注释不会输出。但是HTML的注释语法(<!--*****-->)会被当作文本输出。





























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值