handlebars中的partial

高级玩家:partial

比较推崇使用分页来实现组件化。分页跟helper一样需要先注册。在hbs模块中可以批量注册,比较简单。

hbs.registerPartials(__dirname + '/views/partials');

基础引用

用“>”来引用模板,这种情况一般用来处理页头页尾这种简单的分页。后面可以传入参数。 { {> myPartial param} }

当使用块级表达式时,我们通常添加“#”,而分页是“>”,所以块级分页使用“#>”,这里表示如果layout分页不存在则显示块内的内容My Content。

{ {#> layout } }
  My Content
{ {/layout} }

动态分页

当然也可以用表达式来代替分页名称

{ {> (whichPartial) } }

当分页中一部分代码是固定的,另一部分是变化的时候,可以在分页中添加“@partial-block”,这时当引用这个分页时,在内部编写代码将会填充到这个位置。

partial.hbs:

亚里士朱德
{ {> [@partial-block](/user/partial-block) } }

模板:

{ {#>partial} }
https:yalishizhude.github.io
{ {/partial} }

html页面:

亚里士朱德
https:yalishizhude.github.io

内联分页

当有多段代码需要填充到分页时,可以用如下方法。分页中内嵌分页变量,模板中通过内联分页的方式传入。

模板:

{ {#> partial} }
  { {#*inline "nav"} }
    亚里士朱德
  { {/inline} }
  { {#*inline "content"} }
    https://yalishizhude.github.io
  { {/inline} }
{ {/partial} }

partial.hbs:

<div class="nav">
  { {> nav} }
</div>
<div class="content">
  { {> content} }
</div>

html页面:

<div class="nav">
    亚里士朱德
</div>
<div class="content">
    https://yalishizhude.github.io
</div>
posted @ 2016-08-19 15:01  zhangsai  阅读(919)  评论(0编辑  收藏  举报